xen-netback: remove 'hotplug-status' once it has served its purpose
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>
This commit is contained in:
parent
f55c3188df
commit
1f2565780e
1 changed files with 1 additions and 1 deletions
|
@ -648,6 +648,7 @@ static void hotplug_status_changed(struct xenbus_watch *watch,
|
||||||
|
|
||||||
/* Not interested in this watch anymore. */
|
/* Not interested in this watch anymore. */
|
||||||
unregister_hotplug_status_watch(be);
|
unregister_hotplug_status_watch(be);
|
||||||
|
xenbus_rm(XBT_NIL, be->dev->nodename, "hotplug-status");
|
||||||
}
|
}
|
||||||
kfree(str);
|
kfree(str);
|
||||||
}
|
}
|
||||||
|
@ -959,7 +960,6 @@ static int netback_remove(struct xenbus_device *dev)
|
||||||
if (be->vif) {
|
if (be->vif) {
|
||||||
kobject_uevent(&dev->dev.kobj, KOBJ_OFFLINE);
|
kobject_uevent(&dev->dev.kobj, KOBJ_OFFLINE);
|
||||||
xen_unregister_watchers(be->vif);
|
xen_unregister_watchers(be->vif);
|
||||||
xenbus_rm(XBT_NIL, dev->nodename, "hotplug-status");
|
|
||||||
xenvif_free(be->vif);
|
xenvif_free(be->vif);
|
||||||
be->vif = NULL;
|
be->vif = NULL;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue