]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
gpiolib: initialize return value in gpiochip_set_multiple()
authorRuoyu Wang <ruoyuw560@gmail.com>
Sat, 20 Jun 2026 15:53:19 +0000 (23:53 +0800)
committerBartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
Mon, 22 Jun 2026 08:07:11 +0000 (10:07 +0200)
gpiochip_set_multiple() falls back to setting lines one by one when the
chip does not provide set_multiple(). If the fallback path receives an
empty mask, the loop is skipped and ret is returned without being
initialized.

Initialize ret to 0 so an empty mask is treated as a successful no-op.

Fixes: 9b407312755f ("gpiolib: rework the wrapper around gpio_chip::set_multiple()")
Signed-off-by: Ruoyu Wang <ruoyuw560@gmail.com>
Acked-by: Uwe Kleine-König <u.kleine-koenig@baylibre.com>
Link: https://patch.msgid.link/20260620155319.79994-1-ruoyuw560@gmail.com
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
drivers/gpio/gpiolib.c

index 8a5ff78a11490c962f9924c6d09ddece599ff674..e5fb60111151f6de20b424551acf213fb058e190 100644 (file)
@@ -3803,7 +3803,7 @@ static int gpiochip_set_multiple(struct gpio_chip *gc,
                                 unsigned long *mask, unsigned long *bits)
 {
        unsigned int i;
-       int ret;
+       int ret = 0;
 
        lockdep_assert_held(&gc->gpiodev->srcu);