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:
Родитель
078dc65e61
Коммит
6270d830d0
|
@ -140,7 +140,7 @@ int of_gpio_simple_xlate(struct gpio_chip *gc,
|
|||
if (WARN_ON(gpiospec->args_count < gc->of_gpio_n_cells))
|
||||
return -EINVAL;
|
||||
|
||||
if (gpiospec->args[0] > gc->ngpio)
|
||||
if (gpiospec->args[0] >= gc->ngpio)
|
||||
return -EINVAL;
|
||||
|
||||
if (flags)
|
||||
|
|
Загрузка…
Ссылка в новой задаче