* [PATCH] gpio: gpiolib: Fix error path in gpiod_set_debounce()
@ 2013-09-03 20:45 Fabio Estevam
0 siblings, 0 replies; only message in thread
From: Fabio Estevam @ 2013-09-03 20:45 UTC (permalink / raw)
To: linus.walleij
Cc: shawn.guo, kernel, rogerio.pimentel, linux-gpio, Fabio Estevam
From: Fabio Estevam <fabio.estevam@freescale.com>
Commit 8fea68f49 (gpio: improve error path in gpiolib) causes the following hang
on a mx6qsabresd board:
ci_hdrc ci_hdrc.1: EHCI Host Controller
ci_hdrc ci_hdrc.1: new USB bus registered, assigned bus number 2
ci_hdrc ci_hdrc.1: USB 2.0 started, EHCI 1.00
hub 2-0:1.0: USB hub found
hub 2-0:1.0: 1 port detected
gpiod_set_debounce: missing set() or set_debounce() operations
We should not return immediately inside the 'if' block to keep the same
behaviour prior to 8fea68f49. Also, returning immediately fails to release the
spinlock.
Jumping to the 'fail' label makes the boot to succeed again.
Reported-by: Rogerio Pimentel <rogerio.pimentel@freescale.com>
Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
---
drivers/gpio/gpiolib.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/gpio/gpiolib.c b/drivers/gpio/gpiolib.c
index 0eb9cba..cd1dd12 100644
--- a/drivers/gpio/gpiolib.c
+++ b/drivers/gpio/gpiolib.c
@@ -1783,7 +1783,7 @@ static int gpiod_set_debounce(struct gpio_desc *desc, unsigned debounce)
if (!chip->set || !chip->set_debounce) {
pr_warn("%s: missing set() or set_debounce() operations\n",
__func__);
- return -EIO;
+ goto fail;
}
status = gpio_ensure_requested(desc);
--
1.8.1.2
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2013-09-03 20:45 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-09-03 20:45 [PATCH] gpio: gpiolib: Fix error path in gpiod_set_debounce() Fabio Estevam
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).