[PATCH] mfd: arizona: Fix regulator resource leak on wm5102_clear_write_sequencer failure

Haotian Zhang posted 1 patch 1 day, 7 hours ago
drivers/mfd/arizona-core.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[PATCH] mfd: arizona: Fix regulator resource leak on wm5102_clear_write_sequencer failure
Posted by Haotian Zhang 1 day, 7 hours ago
The wm5102_clear_write_sequencer() helper may return an error
and just return, bypassing the cleanup sequence and causing
regulators to remain enabled, leading to a resource leak.

Change the direct return to jump to the err_reset label to
properly free the resources.

Fixes: 1c1c6bba57f5 ("mfd: wm5102: Ensure we always boot the device fully")
Signed-off-by: Haotian Zhang <vulab@iscas.ac.cn>
---
 drivers/mfd/arizona-core.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/mfd/arizona-core.c b/drivers/mfd/arizona-core.c
index 85ff8717d850..91975536d14d 100644
--- a/drivers/mfd/arizona-core.c
+++ b/drivers/mfd/arizona-core.c
@@ -1100,7 +1100,7 @@ int arizona_dev_init(struct arizona *arizona)
 		} else if (val & 0x01) {
 			ret = wm5102_clear_write_sequencer(arizona);
 			if (ret)
-				return ret;
+				goto err_reset;
 		}
 		break;
 	default:
-- 
2.50.1.windows.1
Re: [PATCH] mfd: arizona: Fix regulator resource leak on wm5102_clear_write_sequencer failure
Posted by Charles Keepax 13 hours ago
On Sun, Dec 14, 2025 at 10:58:03PM +0800, Haotian Zhang wrote:
> The wm5102_clear_write_sequencer() helper may return an error
> and just return, bypassing the cleanup sequence and causing
> regulators to remain enabled, leading to a resource leak.
> 
> Change the direct return to jump to the err_reset label to
> properly free the resources.
> 
> Fixes: 1c1c6bba57f5 ("mfd: wm5102: Ensure we always boot the device fully")
> Signed-off-by: Haotian Zhang <vulab@iscas.ac.cn>
> ---

Reviewed-by: Charles Keepax <ckeepax@opensource.cirrus.com>

Thanks,
Charles