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>
This commit is contained in:
parent
341487a837
commit
75f1115c9b
|
@ -311,7 +311,6 @@ struct pnp_dev * pnp_request_card_device(struct pnp_card_link *clink, const char
|
|||
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 @@ struct pnp_dev * pnp_request_card_device(struct pnp_card_link *clink, const char
|
|||
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 @@ void pnp_release_card_device(struct pnp_dev * dev)
|
|||
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);
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
Loading…
Reference in New Issue
Block a user