This series fixes similar resource leak bugs in DRM panel and bridge drivers.
In all three drivers, a primary resource (regulator or clock) is enabled first, followed by a secondary resource. If enabling the secondary resource fails, the drivers return directly without disabling the first one. Because these resources are reference-counted and the matching power-off/unprepare callbacks won't be triggered on failure, the reference counts leak. Patch 1 and 2 use goto labels to rollback the regulators. Patch 3 is a void function and explicitly disables the leaked regulator on failure. Tang Bin (3): drm/panel: renesas-r61307: disable vcc on iovcc enable failure drm/panel: otm8009a: disable supply on init_sequence failure drm/bridge: anx6345: disable dvdd12 on dvdd25 enable failure drivers/gpu/drm/bridge/analogix/analogix-anx6345.c | 1 + drivers/gpu/drm/panel/panel-orisetech-otm8009a.c | 6 +++++- drivers/gpu/drm/panel/panel-renesas-r61307.c | 6 +++++- 3 files changed, 11 insertions(+), 2 deletions(-) -- 2.52.0.windows.1
