aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ieee1394
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/ieee1394')
-rw-r--r--drivers/ieee1394/nodemgr.c8
1 files changed, 0 insertions, 8 deletions
diff --git a/drivers/ieee1394/nodemgr.c b/drivers/ieee1394/nodemgr.c
index 1644e6fd2c89..dbeba45a031e 100644
--- a/drivers/ieee1394/nodemgr.c
+++ b/drivers/ieee1394/nodemgr.c
@@ -370,9 +370,7 @@ static ssize_t fw_set_ignore_driver(struct device *dev, struct device_attribute
370 370
371 if (state == 1) { 371 if (state == 1) {
372 ud->ignore_driver = 1; 372 ud->ignore_driver = 1;
373 down_write(&ieee1394_bus_type.subsys.rwsem);
374 device_release_driver(dev); 373 device_release_driver(dev);
375 up_write(&ieee1394_bus_type.subsys.rwsem);
376 } else if (state == 0) 374 } else if (state == 0)
377 ud->ignore_driver = 0; 375 ud->ignore_driver = 0;
378 376
@@ -1391,12 +1389,10 @@ static void nodemgr_suspend_ne(struct node_entry *ne)
1391 if (ud->ne != ne) 1389 if (ud->ne != ne)
1392 continue; 1390 continue;
1393 1391
1394 down_write(&ieee1394_bus_type.subsys.rwsem);
1395 if (ud->device.driver && 1392 if (ud->device.driver &&
1396 (!ud->device.driver->suspend || 1393 (!ud->device.driver->suspend ||
1397 ud->device.driver->suspend(&ud->device, PMSG_SUSPEND))) 1394 ud->device.driver->suspend(&ud->device, PMSG_SUSPEND)))
1398 device_release_driver(&ud->device); 1395 device_release_driver(&ud->device);
1399 up_write(&ieee1394_bus_type.subsys.rwsem);
1400 } 1396 }
1401 up(&nodemgr_ud_class.sem); 1397 up(&nodemgr_ud_class.sem);
1402} 1398}
@@ -1416,10 +1412,8 @@ static void nodemgr_resume_ne(struct node_entry *ne)
1416 if (ud->ne != ne) 1412 if (ud->ne != ne)
1417 continue; 1413 continue;
1418 1414
1419 down_read(&ieee1394_bus_type.subsys.rwsem);
1420 if (ud->device.driver && ud->device.driver->resume) 1415 if (ud->device.driver && ud->device.driver->resume)
1421 ud->device.driver->resume(&ud->device); 1416 ud->device.driver->resume(&ud->device);
1422 up_read(&ieee1394_bus_type.subsys.rwsem);
1423 } 1417 }
1424 up(&nodemgr_ud_class.sem); 1418 up(&nodemgr_ud_class.sem);
1425 1419
@@ -1440,7 +1434,6 @@ static void nodemgr_update_pdrv(struct node_entry *ne)
1440 if (ud->ne != ne) 1434 if (ud->ne != ne)
1441 continue; 1435 continue;
1442 1436
1443 down_write(&ieee1394_bus_type.subsys.rwsem);
1444 if (ud->device.driver) { 1437 if (ud->device.driver) {
1445 pdrv = container_of(ud->device.driver, 1438 pdrv = container_of(ud->device.driver,
1446 struct hpsb_protocol_driver, 1439 struct hpsb_protocol_driver,
@@ -1448,7 +1441,6 @@ static void nodemgr_update_pdrv(struct node_entry *ne)
1448 if (pdrv->update && pdrv->update(ud)) 1441 if (pdrv->update && pdrv->update(ud))
1449 device_release_driver(&ud->device); 1442 device_release_driver(&ud->device);
1450 } 1443 }
1451 up_write(&ieee1394_bus_type.subsys.rwsem);
1452 } 1444 }
1453 up(&nodemgr_ud_class.sem); 1445 up(&nodemgr_ud_class.sem);
1454} 1446}