Message ID | 20240223123214.288181-1-brgl@bgdev.pl |
---|---|
State | New |
Headers | show |
Series | pinctrl: don't put the reference to GPIO device in pinctrl_pins_show() | expand |
On Fri, Feb 23, 2024 at 1:32 PM Bartosz Golaszewski <brgl@bgdev.pl> wrote: > From: Bartosz Golaszewski <bartosz.golaszewski@linaro.org> > > The call to gpiod_to_gpio_device() does not increase the reference count > of the GPIO device struct so it must not be decreased. Remove the buggy > __free() decorator. > > Fixes: 524fc108b895 ("pinctrl: stop using gpiod_to_chip()") > Reported-by: David Arcari <darcari@redhat.com> > Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org> Patch applied for fixes! Yours, Linus Walleij
diff --git a/drivers/pinctrl/core.c b/drivers/pinctrl/core.c index ee56856cb80c..bbcdece83bf4 100644 --- a/drivers/pinctrl/core.c +++ b/drivers/pinctrl/core.c @@ -1644,7 +1644,7 @@ static int pinctrl_pins_show(struct seq_file *s, void *what) const struct pinctrl_ops *ops = pctldev->desc->pctlops; unsigned int i, pin; #ifdef CONFIG_GPIOLIB - struct gpio_device *gdev __free(gpio_device_put) = NULL; + struct gpio_device *gdev = NULL; struct pinctrl_gpio_range *range; int gpio_num; #endif