diff options
author | Jaroslav Kysela <perex@suse.cz> | 2005-08-18 07:16:11 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2005-08-18 11:43:59 -0400 |
commit | 30d5b64b63fa69af31b2cba32e6d71d68526eec9 (patch) | |
tree | 16b55bd8beb2b56b459db5ef100b881243597f7a /drivers/pnp/card.c | |
parent | 518e6540831c69422faecceee8f964bd439ac9d0 (diff) |
[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/pnp/card.c')
-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: | |||
312 | if (drv->link.driver.probe) { | 312 | if (drv->link.driver.probe) { |
313 | if (drv->link.driver.probe(&dev->dev)) { | 313 | if (drv->link.driver.probe(&dev->dev)) { |
314 | dev->dev.driver = NULL; | 314 | dev->dev.driver = NULL; |
315 | dev->card_link = NULL; | ||
316 | up_write(&dev->dev.bus->subsys.rwsem); | ||
315 | return NULL; | 317 | return NULL; |
316 | } | 318 | } |
317 | } | 319 | } |