[PATCH 2/3] drm/panel: otm8009a: disable supply on init_sequence failure
From: Tang Bin
Date: Wed Nov 04 2026 - 04:46:58 EST
otm8009a_prepare() enables ctx->supply then runs otm8009a_init_sequence();
on init failure it returns directly, leaking the supply (unprepare disables
it). Route through a disable_supply label.
Fixes: f0a5bb9803a9 ("drm/panel: Add support for OTM8009A panel driver")
Signed-off-by: Tang Bin <tangbin@xxxxxxxxxxxxxxxxxxxx>
---
drivers/gpu/drm/panel/panel-orisetech-otm8009a.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/panel/panel-orisetech-otm8009a.c b/drivers/gpu/drm/panel/panel-orisetech-otm8009a.c
index 130520558..49cac3012 100644
--- a/drivers/gpu/drm/panel/panel-orisetech-otm8009a.c
+++ b/drivers/gpu/drm/panel/panel-orisetech-otm8009a.c
@@ -281,11 +281,15 @@ static int otm8009a_prepare(struct drm_panel *panel)
ret = otm8009a_init_sequence(ctx);
if (ret)
- return ret;
+ goto disable_supply;
ctx->prepared = true;
return 0;
+
+disable_supply:
+ regulator_disable(ctx->supply);
+ return ret;
}
static int otm8009a_enable(struct drm_panel *panel)
--
2.52.0.windows.1