diff mbox series

pinctrl: single: check if #pinctrl-cells exceeds 3

Message ID 20200913210825.2022552-1-drew@beagleboard.org
State New
Headers show
Series pinctrl: single: check if #pinctrl-cells exceeds 3 | expand

Commit Message

Drew Fustini Sept. 13, 2020, 9:08 p.m. UTC
The property #pinctrl-cells can either be 2 or 3.  There is currently
only a check to make sure that #pinctrl-cells is 2 or greater.  This
patch adds a check to make sure it is not greater than 3.

Fixes: a13395418888 ("pinctrl: single: parse #pinctrl-cells = 2")
Reported-by: Trent Piepho <tpiepho@gmail.com>
Link: https://lore.kernel.org/linux-omap/3139716.CMS8C0sQ7x@zen.local/
Signed-off-by: Drew Fustini <drew@beagleboard.org>
---
 drivers/pinctrl/pinctrl-single.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Linus Walleij Sept. 29, 2020, 12:51 p.m. UTC | #1
On Sun, Sep 13, 2020 at 11:17 PM Drew Fustini <drew@beagleboard.org> wrote:

> The property #pinctrl-cells can either be 2 or 3.  There is currently
> only a check to make sure that #pinctrl-cells is 2 or greater.  This
> patch adds a check to make sure it is not greater than 3.
>
> Fixes: a13395418888 ("pinctrl: single: parse #pinctrl-cells = 2")
> Reported-by: Trent Piepho <tpiepho@gmail.com>
> Link: https://lore.kernel.org/linux-omap/3139716.CMS8C0sQ7x@zen.local/
> Signed-off-by: Drew Fustini <drew@beagleboard.org>

Tony, does this and the other patch look good to you?

Yours,
Linus Walleij
Tony Lindgren Sept. 30, 2020, 5:16 a.m. UTC | #2
* Linus Walleij <linus.walleij@linaro.org> [200929 12:51]:
> On Sun, Sep 13, 2020 at 11:17 PM Drew Fustini <drew@beagleboard.org> wrote:
> 
> > The property #pinctrl-cells can either be 2 or 3.  There is currently
> > only a check to make sure that #pinctrl-cells is 2 or greater.  This
> > patch adds a check to make sure it is not greater than 3.
> >
> > Fixes: a13395418888 ("pinctrl: single: parse #pinctrl-cells = 2")
> > Reported-by: Trent Piepho <tpiepho@gmail.com>
> > Link: https://lore.kernel.org/linux-omap/3139716.CMS8C0sQ7x@zen.local/
> > Signed-off-by: Drew Fustini <drew@beagleboard.org>
> 
> Tony, does this and the other patch look good to you?

Hmm well the description looks a bit confusing, #pinctrl-cells can
also be 1 that's the default. Might be worth clarifying that part.

Regards,

Tony
Drew Fustini Sept. 30, 2020, 5:53 p.m. UTC | #3
On Wed, Sep 30, 2020 at 08:16:59AM +0300, Tony Lindgren wrote:
> * Linus Walleij <linus.walleij@linaro.org> [200929 12:51]:
> > On Sun, Sep 13, 2020 at 11:17 PM Drew Fustini <drew@beagleboard.org> wrote:
> > 
> > > The property #pinctrl-cells can either be 2 or 3.  There is currently
> > > only a check to make sure that #pinctrl-cells is 2 or greater.  This
> > > patch adds a check to make sure it is not greater than 3.
> > >
> > > Fixes: a13395418888 ("pinctrl: single: parse #pinctrl-cells = 2")
> > > Reported-by: Trent Piepho <tpiepho@gmail.com>
> > > Link: https://lore.kernel.org/linux-omap/3139716.CMS8C0sQ7x@zen.local/
> > > Signed-off-by: Drew Fustini <drew@beagleboard.org>
> > 
> > Tony, does this and the other patch look good to you?
> 
> Hmm well the description looks a bit confusing, #pinctrl-cells can
> also be 1 that's the default. Might be worth clarifying that part.
> 
> Regards,
> 
> Tony

Yes, that was my fault for confusing #pinctrl-cells with
pinctrl_spec.args_count.

- if #pinctrl-cells = <1>, then pinctrl_spec.args_count = 2
- if #pinctrl-cells = <2>, then pinctrl_spec.args_count = 3
- all other values are not valid

I will post a v2.

Thanks,
Drew
diff mbox series

Patch

diff --git a/drivers/pinctrl/pinctrl-single.c b/drivers/pinctrl/pinctrl-single.c
index efe41abc5d47..5cbf0e55087c 100644
--- a/drivers/pinctrl/pinctrl-single.c
+++ b/drivers/pinctrl/pinctrl-single.c
@@ -1014,7 +1014,7 @@  static int pcs_parse_one_pinctrl_entry(struct pcs_device *pcs,
 		if (res)
 			return res;
 
-		if (pinctrl_spec.args_count < 2) {
+		if (pinctrl_spec.args_count < 2 || pinctrl_spec.args_count > 3) {
 			dev_err(pcs->dev, "invalid args_count for spec: %i\n",
 				pinctrl_spec.args_count);
 			break;