mfd: stmfx: Fix error path in stmfx_chip_init
authorAmelie Delaunay <amelie.delaunay@foss.st.com>
Fri, 9 Jun 2023 09:28:03 +0000 (11:28 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 19 Jul 2023 14:21:57 +0000 (16:21 +0200)
[ Upstream commit f592cf624531286f8b52e40dcfc157a5a7fb115c ]

In error path, disable vdd regulator if it exists, but don't overload ret.
Because if regulator_disable() is successful, stmfx_chip_init will exit
successfully while chip init failed.

Fixes: 06252ade9156 ("mfd: Add ST Multi-Function eXpander (STMFX) core driver")
Signed-off-by: Amelie Delaunay <amelie.delaunay@foss.st.com>
Link: https://lore.kernel.org/r/20230609092804.793100-1-amelie.delaunay@foss.st.com
Signed-off-by: Lee Jones <lee@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/mfd/stmfx.c

index 5dd7d96..61a8aad 100644 (file)
@@ -387,7 +387,7 @@ static int stmfx_chip_init(struct i2c_client *client)
 
 err:
        if (stmfx->vdd)
-               return regulator_disable(stmfx->vdd);
+               regulator_disable(stmfx->vdd);
 
        return ret;
 }