[PATCH v5 04/11] drm/bridge: it6505: complete poweroff even if disabling regulators fails

From: Daniel Golle

Date: Wed Jul 22 2026 - 11:48:16 EST


it6505_poweroff() returns early when regulator_disable() fails,
leaving it6505->powered set with the IRQ already disabled. The next
it6505_poweron() then takes its early return and never re-enables the
IRQ, leaving the bridge deaf to hotplug and link training interrupts.
Log the error and complete the power-off state transition instead.

Fixes: b5c84a9edcd4 ("drm/bridge: add it6505 driver")
Signed-off-by: Daniel Golle <daniel@xxxxxxxxxxxxxx>
---
v5: new patch

drivers/gpu/drm/bridge/ite-it6505.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/bridge/ite-it6505.c b/drivers/gpu/drm/bridge/ite-it6505.c
index ff6471d3ef7a..0f79ddfd1501 100644
--- a/drivers/gpu/drm/bridge/ite-it6505.c
+++ b/drivers/gpu/drm/bridge/ite-it6505.c
@@ -2810,13 +2810,15 @@ static int it6505_poweroff(struct it6505 *it6505)
if (pdata->pwr18) {
err = regulator_disable(pdata->pwr18);
if (err)
- return err;
+ dev_err(dev, "cannot disable pwr18 regulator: %d",
+ err);
}

if (pdata->ovdd) {
err = regulator_disable(pdata->ovdd);
if (err)
- return err;
+ dev_err(dev, "cannot disable ovdd regulator: %d",
+ err);
}

it6505->powered = false;
--
2.55.0