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:
Родитель
341487a837
Коммит
75f1115c9b
|
@ -311,7 +311,6 @@ done:
|
|||
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 @@ found:
|
|||
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);
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
Загрузка…
Ссылка в новой задаче