gpio: Fix range check in of_gpio_simple_xlate()
of_gpio_simple_xlate() has an off-by-one bug where it checks to see if args[0] is > ngpio instead of >=. args[0] must always be less than ngpio because it is a zero-based enumeration. Signed-off-by: Roland Stigge <stigge@antcom.de> [grant.likely: beef up commit text] Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
This commit is contained in:
parent
078dc65e61
commit
6270d830d0
1 changed files with 1 additions and 1 deletions
|
@ -140,7 +140,7 @@ int of_gpio_simple_xlate(struct gpio_chip *gc,
|
||||||
if (WARN_ON(gpiospec->args_count < gc->of_gpio_n_cells))
|
if (WARN_ON(gpiospec->args_count < gc->of_gpio_n_cells))
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
|
||||||
if (gpiospec->args[0] > gc->ngpio)
|
if (gpiospec->args[0] >= gc->ngpio)
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
|
||||||
if (flags)
|
if (flags)
|
||||||
|
|
Loading…
Reference in a new issue