diff options
author | Jaroslav Kysela <perex@suse.cz> | 2005-08-18 13:16:11 +0200 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2005-08-18 17:43:59 +0200 |
commit | 30d5b64b63fa69af31b2cba32e6d71d68526eec9 (patch) | |
tree | 16b55bd8beb2b56b459db5ef100b881243597f7a /drivers | |
parent | [PATCH] Fix manual binding infinite loop (diff) | |
download | linux-30d5b64b63fa69af31b2cba32e6d71d68526eec9.tar.xz linux-30d5b64b63fa69af31b2cba32e6d71d68526eec9.zip |
[PATCH] broken error path in drivers/pnp/card.c
The error path in pnp_request_card_device() is broken (one variable is
left initialized and the semaphore is not unlocked).
This fixes it (and has been tested).
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/pnp/card.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/pnp/card.c b/drivers/pnp/card.c index add12f7c489a..6e5229e92fbc 100644 --- a/drivers/pnp/card.c +++ b/drivers/pnp/card.c @@ -312,6 +312,8 @@ found: if (drv->link.driver.probe) { if (drv->link.driver.probe(&dev->dev)) { dev->dev.driver = NULL; + dev->card_link = NULL; + up_write(&dev->dev.bus->subsys.rwsem); return NULL; } } |