From: Thierry Reding <thierry.reding@gmail.com>
To: Linus Walleij <linus.walleij@linaro.org>
Cc: linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: [PATCH 1/2] gpio: Fix crash in gpiod_set_debounce()
Date: Tue, 3 Sep 2013 12:39:27 +0200 [thread overview]
Message-ID: <1378204768-18013-1-git-send-email-treding@nvidia.com> (raw)
Return an error if neither the ->set() nor the ->set_debounce() function
is implemented by the chip. Furthermore move locking further down so the
lock doesn't have to be unlocked on error. This is safe to do because at
this point the lock doesn't protect anything.
Signed-off-by: Thierry Reding <treding@nvidia.com>
---
Linus,
Feel free to squash this into the commit that introduced these:
fc9bbfb: gpio: improve error path in gpiolib
Thierry
drivers/gpio/gpiolib.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/drivers/gpio/gpiolib.c b/drivers/gpio/gpiolib.c
index acd19c9..9f8a134 100644
--- a/drivers/gpio/gpiolib.c
+++ b/drivers/gpio/gpiolib.c
@@ -1777,14 +1777,15 @@ static int gpiod_set_debounce(struct gpio_desc *desc, unsigned debounce)
return -EINVAL;
}
- spin_lock_irqsave(&gpio_lock, flags);
-
chip = desc->chip;
if (!chip->set || !chip->set_debounce) {
pr_warn("%s: missing set() or set_debounce() operations\n",
__func__);
+ return -EIO;
}
+ spin_lock_irqsave(&gpio_lock, flags);
+
status = gpio_ensure_requested(desc);
if (status < 0)
goto fail;
--
1.8.4
next reply other threads:[~2013-09-03 10:40 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-09-03 10:39 Thierry Reding [this message]
2013-09-03 10:39 ` [PATCH 2/2] gpio: Use proper indentation Thierry Reding
2013-09-03 12:11 ` Linus Walleij
2013-09-03 12:23 ` Thierry Reding
2013-09-03 12:10 ` [PATCH 1/2] gpio: Fix crash in gpiod_set_debounce() Linus Walleij
2013-09-03 15:34 ` Kevin Hilman
2013-09-03 20:25 ` Stephen Warren
2013-09-06 8:55 ` Linus Walleij
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1378204768-18013-1-git-send-email-treding@nvidia.com \
--to=thierry.reding@gmail.com \
--cc=linus.walleij@linaro.org \
--cc=linux-gpio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Powered by JetHome