PNP: stop using the subsystem rwsem
The rwsem is not used to protect anything, so the use of it by the PNP
subsystem isn't really useful, and it's doubtful if it really did anything or
not. So I've removed it.
Cc: Adam Belay <ambx1@neo.rr.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
diff --git a/drivers/pnp/card.c b/drivers/pnp/card.c
index 91c047a..dd6384b 100644
--- a/drivers/pnp/card.c
+++ b/drivers/pnp/card.c
@@ -311,7 +311,6 @@
return NULL;
found:
- down_write(&dev->dev.bus->subsys.rwsem);
dev->card_link = clink;
dev->dev.driver = &drv->link.driver;
if (pnp_bus_type.probe(&dev->dev))
@@ -319,14 +318,11 @@
if (device_bind_driver(&dev->dev))
goto err_out;
- up_write(&dev->dev.bus->subsys.rwsem);
-
return dev;
err_out:
dev->dev.driver = NULL;
dev->card_link = NULL;
- up_write(&dev->dev.bus->subsys.rwsem);
return NULL;
}
@@ -340,11 +336,9 @@
struct pnp_card_driver * drv = dev->card_link->driver;
if (!drv)
return;
- down_write(&dev->dev.bus->subsys.rwsem);
drv->link.remove = &card_remove;
device_release_driver(&dev->dev);
drv->link.remove = &card_remove_first;
- up_write(&dev->dev.bus->subsys.rwsem);
}
/*