summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--net/9p/trans_xen.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/net/9p/trans_xen.c b/net/9p/trans_xen.c
index c87146a49636..77d7e6c3d7a2 100644
--- a/net/9p/trans_xen.c
+++ b/net/9p/trans_xen.c
@@ -480,6 +480,7 @@ static int xen_9pfs_front_init(struct xenbus_device *dev)
goto error;
}
+ xenbus_switch_state(dev, XenbusStateInitialised);
return 0;
error_xenbus:
@@ -527,8 +528,10 @@ static void xen_9pfs_front_changed(struct xenbus_device *dev,
break;
case XenbusStateInitWait:
- if (!xen_9pfs_front_init(dev))
- xenbus_switch_state(dev, XenbusStateInitialised);
+ if (dev->state != XenbusStateInitialising)
+ break;
+
+ xen_9pfs_front_init(dev);
break;
case XenbusStateConnected: