summaryrefslogtreecommitdiff
path: root/drivers/net/xen-netfront.c
diff options
context:
space:
mode:
authorWolfram Sang <wsa@the-dreams.de>2018-03-24 13:39:18 +0100
committerWolfram Sang <wsa@the-dreams.de>2018-03-24 13:39:18 +0100
commit0b884c22c5b7f6ef985b3d39fed06ad1f8296042 (patch)
tree74504e80ad62cb0acabdfa796348d001d5d1a2a4 /drivers/net/xen-netfront.c
parenteb49778c8c6cbe075cf90d741ccf16f674a8db4e (diff)
parent84e10623c0b9c81557918804f309d66aec86a233 (diff)
downloadlinux-0b884c22c5b7f6ef985b3d39fed06ad1f8296042.tar.gz
linux-0b884c22c5b7f6ef985b3d39fed06ad1f8296042.tar.xz
Merge tag 'at24-4.17-updates-for-wolfram' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux into i2c/for-4.17
"three new special cases for device tree compatible strings"
Diffstat (limited to 'drivers/net/xen-netfront.c')
-rw-r--r--drivers/net/xen-netfront.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/net/xen-netfront.c b/drivers/net/xen-netfront.c
index 8328d395e332..3127bc8633ca 100644
--- a/drivers/net/xen-netfront.c
+++ b/drivers/net/xen-netfront.c
@@ -2005,7 +2005,10 @@ static void netback_changed(struct xenbus_device *dev,
case XenbusStateInitialised:
case XenbusStateReconfiguring:
case XenbusStateReconfigured:
+ break;
+
case XenbusStateUnknown:
+ wake_up_all(&module_unload_q);
break;
case XenbusStateInitWait:
@@ -2136,7 +2139,9 @@ static int xennet_remove(struct xenbus_device *dev)
xenbus_switch_state(dev, XenbusStateClosing);
wait_event(module_unload_q,
xenbus_read_driver_state(dev->otherend) ==
- XenbusStateClosing);
+ XenbusStateClosing ||
+ xenbus_read_driver_state(dev->otherend) ==
+ XenbusStateUnknown);
xenbus_switch_state(dev, XenbusStateClosed);
wait_event(module_unload_q,