[PATCH 2/2] drm/panel: ilitek-ili9882t: disable pp3300 on prepare() error paths

From: Tang Bin

Date: Wed Nov 04 2026 - 03:56:06 EST


ili9882t_prepare() enables pp3300 first, but every later failing step
disables only pp1800/avdd/avee, never pp3300 (the matching unprepare()
does). The pp3300 enable count leaks across repeated prepare failures. Add
a poweroff3v3 label and route the pp1800-enable failure to it.

Fixes: e2450d32e5fb ("drm/panel: ili9882t: Break out as separate driver")
Signed-off-by: Tang Bin <tangbin@xxxxxxxxxxxxxxxxxxxx>
---
drivers/gpu/drm/panel/panel-ilitek-ili9882t.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/panel/panel-ilitek-ili9882t.c b/drivers/gpu/drm/panel/panel-ilitek-ili9882t.c
index 6d07fe901..a80469bb1 100644
--- a/drivers/gpu/drm/panel/panel-ilitek-ili9882t.c
+++ b/drivers/gpu/drm/panel/panel-ilitek-ili9882t.c
@@ -618,7 +618,7 @@ static int ili9882t_prepare(struct drm_panel *panel)

ret = regulator_enable(ili->pp1800);
if (ret < 0)
- return ret;
+ goto poweroff3v3;

usleep_range(3000, 5000);

@@ -660,6 +660,8 @@ static int ili9882t_prepare(struct drm_panel *panel)
poweroff1v8:
usleep_range(5000, 7000);
regulator_disable(ili->pp1800);
+poweroff3v3:
+ regulator_disable(ili->pp3300);

return ret;
}
--
2.52.0.windows.1