aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ieee1394/nodemgr.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/ieee1394/nodemgr.c')
-rw-r--r--drivers/ieee1394/nodemgr.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/ieee1394/nodemgr.c b/drivers/ieee1394/nodemgr.c
index f087f7e2b691..3e7974c57443 100644
--- a/drivers/ieee1394/nodemgr.c
+++ b/drivers/ieee1394/nodemgr.c
@@ -1352,6 +1352,7 @@ static void nodemgr_resume_ne(struct node_entry *ne)
1352 ne->in_limbo = 0; 1352 ne->in_limbo = 0;
1353 device_remove_file(&ne->device, &dev_attr_ne_in_limbo); 1353 device_remove_file(&ne->device, &dev_attr_ne_in_limbo);
1354 1354
1355 down_read(&nodemgr_ud_class.subsys.rwsem);
1355 down_read(&ne->device.bus->subsys.rwsem); 1356 down_read(&ne->device.bus->subsys.rwsem);
1356 list_for_each_entry(cdev, &nodemgr_ud_class.children, node) { 1357 list_for_each_entry(cdev, &nodemgr_ud_class.children, node) {
1357 ud = container_of(cdev, struct unit_directory, class_dev); 1358 ud = container_of(cdev, struct unit_directory, class_dev);
@@ -1363,6 +1364,7 @@ static void nodemgr_resume_ne(struct node_entry *ne)
1363 ud->device.driver->resume(&ud->device); 1364 ud->device.driver->resume(&ud->device);
1364 } 1365 }
1365 up_read(&ne->device.bus->subsys.rwsem); 1366 up_read(&ne->device.bus->subsys.rwsem);
1367 up_read(&nodemgr_ud_class.subsys.rwsem);
1366 1368
1367 HPSB_DEBUG("Node resumed: ID:BUS[" NODE_BUS_FMT "] GUID[%016Lx]", 1369 HPSB_DEBUG("Node resumed: ID:BUS[" NODE_BUS_FMT "] GUID[%016Lx]",
1368 NODE_BUS_ARGS(ne->host, ne->nodeid), (unsigned long long)ne->guid); 1370 NODE_BUS_ARGS(ne->host, ne->nodeid), (unsigned long long)ne->guid);