anx6345_power_on() enables dvdd12 then dvdd25; on dvdd25 failure it returns
directly (void function), leaking dvdd12 (poweroff disables both). Disable
dvdd12 before returning.

Fixes: 6aa192698089 ("drm/bridge: Add Analogix anx6345 support")
Signed-off-by: Tang Bin <[email protected]>
---
 drivers/gpu/drm/bridge/analogix/analogix-anx6345.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/gpu/drm/bridge/analogix/analogix-anx6345.c 
b/drivers/gpu/drm/bridge/analogix/analogix-anx6345.c
index 407834a03..f84427eae 100644
--- a/drivers/gpu/drm/bridge/analogix/analogix-anx6345.c
+++ b/drivers/gpu/drm/bridge/analogix/analogix-anx6345.c
@@ -294,6 +294,7 @@ static void anx6345_poweron(struct anx6345 *anx6345)
        if (err) {
                DRM_ERROR("Failed to enable dvdd25 regulator: %d\n",
                          err);
+               regulator_disable(anx6345->dvdd12);
                return;
        }
 
-- 
2.52.0.windows.1



Reply via email to