[PATCH] pinctrl: aw9523: fix mutex unlock in error path

From: Bartosz Golaszewski
Date: Thu Jun 19 2025 - 13:35:53 EST


From: Bartosz Golaszewski <bartosz.golaszewski@xxxxxxxxxx>

We must unlock the mutex *after* the `out` label or we'd trigger a
deadlock in error path.

Fixes: dffe286e2428 ("pinctrl: aw9523: use new GPIO line value setter callbacks")
Reported-by: kernel test robot <lkp@xxxxxxxxx>
Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
Closes: https://lore.kernel.org/r/202506191952.A03cvn22-lkp@xxxxxxxxx/
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@xxxxxxxxxx>
---
drivers/pinctrl/pinctrl-aw9523.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/pinctrl/pinctrl-aw9523.c b/drivers/pinctrl/pinctrl-aw9523.c
index c84454038419..2935b2cceb03 100644
--- a/drivers/pinctrl/pinctrl-aw9523.c
+++ b/drivers/pinctrl/pinctrl-aw9523.c
@@ -652,9 +652,9 @@ static int aw9523_gpio_set_multiple(struct gpio_chip *chip,
if (ret)
goto out;
}
- mutex_unlock(&awi->i2c_lock);

out:
+ mutex_unlock(&awi->i2c_lock);
return ret;
}

--
2.48.1