summaryrefslogtreecommitdiffstats
path: root/drivers/gpio
diff options
context:
space:
mode:
authorMagnus Damm <damm@igel.co.jp>2009-01-29 23:25:12 +0100
committerLinus Torvalds <torvalds@linux-foundation.org>2009-01-30 03:04:43 +0100
commit7460db567bbca76bf087d1694d792a1a96bdaa26 (patch)
treecb0da014bc604f11525d1e9d23b305b007914549 /drivers/gpio
parentmemcg: get/put parents at create/free (diff)
downloadlinux-7460db567bbca76bf087d1694d792a1a96bdaa26.tar.xz
linux-7460db567bbca76bf087d1694d792a1a96bdaa26.zip
gpiolib: fix request related issue
Fix request-already-requested handling in gpio_request(). Signed-off-by: Magnus Damm <damm@igel.co.jp> Acked-by: David Brownell <dbrownell@users.sourceforge.net> Cc: <stable@kernel.org> [2.6.28.x] Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'drivers/gpio')
-rw-r--r--drivers/gpio/gpiolib.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/gpio/gpiolib.c b/drivers/gpio/gpiolib.c
index 35e7aea4222c..42fb2fd24c0c 100644
--- a/drivers/gpio/gpiolib.c
+++ b/drivers/gpio/gpiolib.c
@@ -789,6 +789,7 @@ int gpio_request(unsigned gpio, const char *label)
} else {
status = -EBUSY;
module_put(chip->owner);
+ goto done;
}
if (chip->request) {