aboutsummaryrefslogtreecommitdiff
path: root/sys/xen/xenbus
diff options
context:
space:
mode:
authorAttilio Rao <attilio@FreeBSD.org>2009-08-02 14:28:40 +0000
committerAttilio Rao <attilio@FreeBSD.org>2009-08-02 14:28:40 +0000
commit444b91868b5294e3a2151fffa3b063763a562448 (patch)
treec00d808d1df8000c2086c86613be9ec8536a5e28 /sys/xen/xenbus
parentd40b91cb1354e9bae491567cc88c215eda16d649 (diff)
Notes
Diffstat (limited to 'sys/xen/xenbus')
-rw-r--r--sys/xen/xenbus/xenbus_probe.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/sys/xen/xenbus/xenbus_probe.c b/sys/xen/xenbus/xenbus_probe.c
index f04f8eca46382..f930c8ff71b90 100644
--- a/sys/xen/xenbus/xenbus_probe.c
+++ b/sys/xen/xenbus/xenbus_probe.c
@@ -348,7 +348,9 @@ xenbus_devices_changed(struct xenbus_watch *watch,
if (p)
*p = 0;
+ newbus_xlock();
xenbus_add_device(dev, bus, type, id);
+ newbus_xunlock();
taskqueue_enqueue(taskqueue_thread, &sc->xs_probechildren);
out:
free(node, M_DEVBUF);
@@ -361,7 +363,9 @@ xenbus_attach_deferred(void *arg)
struct xenbus_softc *sc = device_get_softc(dev);
int error;
+ newbus_xlock();
error = xenbus_enumerate_bus(dev, "device");
+ newbus_xunlock();
if (error)
return;
xenbus_probe_children(dev);