]> Gentwo Git Trees - linux/.git/commitdiff
PNP: stop using the subsystem rwsem
authorGreg Kroah-Hartman <gregkh@suse.de>
Mon, 9 Apr 2007 15:52:31 +0000 (11:52 -0400)
committerGreg Kroah-Hartman <gregkh@suse.de>
Fri, 27 Apr 2007 17:57:30 +0000 (10:57 -0700)
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>
drivers/pnp/card.c

index 91c047a7e635d832d7090bf62522a99e6dca8e34..dd6384b1efce13d01f5fec8fd2125b1114ae345e 100644 (file)
@@ -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);
 }
 
 /*