Removing the 'hotplug-status' node in netback_remove() is wrong; the script
may not have completed. Only remove the node once the watch has fired and
has been unregistered.
Signed-off-by: Paul Durrant <pdurrant@amazon.com>
Acked-by: Wei Liu <wei.liu@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
 
                /* Not interested in this watch anymore. */
                unregister_hotplug_status_watch(be);
+               xenbus_rm(XBT_NIL, be->dev->nodename, "hotplug-status");
        }
        kfree(str);
 }
        if (be->vif) {
                kobject_uevent(&dev->dev.kobj, KOBJ_OFFLINE);
                xen_unregister_watchers(be->vif);
-               xenbus_rm(XBT_NIL, dev->nodename, "hotplug-status");
                xenvif_free(be->vif);
                be->vif = NULL;
        }