Browse Source

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>
Greg Kroah-Hartman 18 years ago
parent
commit
75f1115c9b
1 changed files with 0 additions and 6 deletions
  1. 0 6
      drivers/pnp/card.c

+ 0 - 6
drivers/pnp/card.c

@@ -311,7 +311,6 @@ done:
 	return NULL;
 	return NULL;
 
 
 found:
 found:
-	down_write(&dev->dev.bus->subsys.rwsem);
 	dev->card_link = clink;
 	dev->card_link = clink;
 	dev->dev.driver = &drv->link.driver;
 	dev->dev.driver = &drv->link.driver;
 	if (pnp_bus_type.probe(&dev->dev))
 	if (pnp_bus_type.probe(&dev->dev))
@@ -319,14 +318,11 @@ found:
 	if (device_bind_driver(&dev->dev))
 	if (device_bind_driver(&dev->dev))
 		goto err_out;
 		goto err_out;
 
 
-	up_write(&dev->dev.bus->subsys.rwsem);
-
 	return dev;
 	return dev;
 
 
 err_out:
 err_out:
 	dev->dev.driver = NULL;
 	dev->dev.driver = NULL;
 	dev->card_link = NULL;
 	dev->card_link = NULL;
-	up_write(&dev->dev.bus->subsys.rwsem);
 	return NULL;
 	return NULL;
 }
 }
 
 
@@ -340,11 +336,9 @@ void pnp_release_card_device(struct pnp_dev * dev)
 	struct pnp_card_driver * drv = dev->card_link->driver;
 	struct pnp_card_driver * drv = dev->card_link->driver;
 	if (!drv)
 	if (!drv)
 		return;
 		return;
-	down_write(&dev->dev.bus->subsys.rwsem);
 	drv->link.remove = &card_remove;
 	drv->link.remove = &card_remove;
 	device_release_driver(&dev->dev);
 	device_release_driver(&dev->dev);
 	drv->link.remove = &card_remove_first;
 	drv->link.remove = &card_remove_first;
-	up_write(&dev->dev.bus->subsys.rwsem);
 }
 }
 
 
 /*
 /*