Commit e5e8a580 authored by Andy Shevchenko's avatar Andy Shevchenko Committed by Linus Walleij

pinctrl: aw9523: Destroy mutex on ->remove()

If aw9523_hw_init() fails on ->remove() the mutex left alive.
Destroy it in that case as well. While at it, remove never
true check at the beginning of the function.
Signed-off-by: default avatarAndy Shevchenko <andy.shevchenko@gmail.com>
Message-ID: <20240329105634.712457-2-andy.shevchenko@gmail.com>
Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
parent d303735c
......@@ -1067,10 +1067,6 @@ static int aw9523_probe(struct i2c_client *client)
static void aw9523_remove(struct i2c_client *client)
{
struct aw9523 *awi = i2c_get_clientdata(client);
int ret;
if (!awi)
return;
/*
* If the chip VIO is connected to a regulator that we can turn
......@@ -1082,10 +1078,8 @@ static void aw9523_remove(struct i2c_client *client)
regulator_disable(awi->vio_vreg);
} else {
mutex_lock(&awi->i2c_lock);
ret = aw9523_hw_init(awi);
aw9523_hw_init(awi);
mutex_unlock(&awi->i2c_lock);
if (ret)
return;
}
mutex_destroy(&awi->i2c_lock);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment