GPIO range check in drivers/of/gpio.c
Roland Stigge
stigge at antcom.de
Tue Apr 3 04:32:16 EDT 2012
Hi,
I'm wondering about a range check in drivers/of/gpio.c:144:
> int of_gpio_simple_xlate(struct gpio_chip *gc,
> const struct of_phandle_args *gpiospec, u32 *flags)
> {
> /*
> * We're discouraging gpio_cells < 2, since that way you'll have to
> * write your own xlate function (that will have to retrive the GPIO
> * number and the flags from a single gpio cell -- this is possible,
> * but not recommended).
> */
> if (gc->of_gpio_n_cells < 2) {
> WARN_ON(1);
> return -EINVAL;
> }
>
> if (WARN_ON(gpiospec->args_count < gc->of_gpio_n_cells))
> return -EINVAL;
>
> if (gpiospec->args[0] > gc->ngpio)
> return -EINVAL;
Shouldn't this be rather:
if (gpiospec->args[0] >= gc->ngpio)
?
Thanks in advance,
Roland
More information about the linux-arm-kernel
mailing list