pon., 16 wrz 2019 o 15:43 Marco Felsch <m.felsch@xxxxxxxxxxxxxx> napisał(a): > > Since commit ec757001c818 ("gpio: Enable nonexclusive gpiods from DT > nodes") we are able to get GPIOD_FLAGS_BIT_NONEXCLUSIVE marked gpios. > Currently the gpiolib uses the wrong flags variable for the check. We > need to check the gpiod_flags instead of the of_gpio_flags else we > return -EBUSY for GPIOD_FLAGS_BIT_NONEXCLUSIVE marked and requested > gpiod's. > > Fixes: ec757001c818 gpio: Enable nonexclusive gpiods from DT nodes > Signed-off-by: Marco Felsch <m.felsch@xxxxxxxxxxxxxx> > --- > drivers/gpio/gpiolib.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/gpio/gpiolib.c b/drivers/gpio/gpiolib.c > index d9074191edef..e4203c1eb869 100644 > --- a/drivers/gpio/gpiolib.c > +++ b/drivers/gpio/gpiolib.c > @@ -4303,7 +4303,7 @@ struct gpio_desc *gpiod_get_from_of_node(struct device_node *node, > transitory = flags & OF_GPIO_TRANSITORY; > > ret = gpiod_request(desc, label); > - if (ret == -EBUSY && (flags & GPIOD_FLAGS_BIT_NONEXCLUSIVE)) > + if (ret == -EBUSY && (dflags & GPIOD_FLAGS_BIT_NONEXCLUSIVE)) > return desc; > if (ret) > return ERR_PTR(ret); > -- > 2.20.1 > Queued for fixes, thanks. Bart