On Thu, 2018-03-22 at 19:16 -0500, Timur Tabi wrote:
> On 03/21/2018 11:58 AM, Stephen Boyd wrote:
> > +static int msm_gpio_init_valid_mask(struct gpio_chip *chip,
> > +                               struct msm_pinctrl *pctrl)
> > +{
> > +   int ret;
> > +   unsigned int len, i;
> > +   unsigned int max_gpios = pctrl->soc->ngpios;
> > +
> > +   /* The number of GPIOs in the ACPI tables */
> > +   ret = device_property_read_u16_array(pctrl->dev, "gpios",
> > NULL, 0);
> > +   if (ret > 0 && ret < max_gpios) {
> 
> This needs to be ret <= max_gpios, otherwise it will fail if every
> GPIO 
> is available.
> 
> And it should print an error message and return an error code if ret
> > 
> max_gpios.

Perhaps makes sense to do the opposite condition

if (ret < 0 || ret > max_gpios) {
 ... error handling ...
}

-- 
Andy Shevchenko <andriy.shevche...@linux.intel.com>
Intel Finland Oy

Reply via email to