linux/drivers/gpu/drm/msm
Guangshuo Li f4fae975db drm/msm/hdmi_phy: fix runtime PM cleanup on probe failure
msm_hdmi_phy_probe() enables runtime PM before enabling the PHY
resources and initializing the PLL, but failures from either operation
return without calling the matching pm_runtime_disable().

The remove path disables runtime PM, but it is not called when probe
fails. As a result, runtime PM remains enabled after an unsuccessful
probe.

Route failures after pm_runtime_enable() through a common error path
and disable runtime PM before returning.

This issue was found by manual code inspection.

Fixes: 15b4a45238 ("drm/msm/hdmi: Create a separate HDMI PHY driver")
Cc: stable@vger.kernel.org
Signed-off-by: Guangshuo Li <lgs201920130244@gmail.com>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Patchwork: https://patchwork.freedesktop.org/patch/753043/
Link: https://lore.kernel.org/r/20260913085814.1509352-1-lgs201920130244@gmail.com
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
2026-09-15 02:09:28 +03:00
..
adreno drm/msm/adreno: fix autosuspend cleanup during teardown 2026-09-14 00:17:13 +03:00
disp drm/msm/dpu: clear pending peripheral flush state 2026-09-14 00:46:13 +03:00
dp drm/msm/dp: fix link bandwidth check when wide bus is enabled 2026-09-14 00:24:21 +03:00
dsi drm/msm/dsi: round the byte clock rate after reparenting to the PHY PLL 2026-09-15 02:09:28 +03:00
hdmi drm/msm/hdmi_phy: fix runtime PM cleanup on probe failure 2026-09-15 02:09:28 +03:00
registers drm/msm/a6xx: Add CX AO Counter registers used for a750 GPUs 2026-09-11 11:36:41 -07:00
.gitignore
Kconfig drm/msm: Guard the QCOM_UBWC_CONFIG select with QCOM_SMEM 2026-08-18 11:17:45 +02:00
Makefile drm/msm: remove stale perf counter XML TODO 2026-09-11 11:33:27 -07:00
msm_atomic_trace.h
msm_atomic_tracepoints.c
msm_atomic.c drm: Rename struct drm_atomic_state to drm_atomic_commit 2026-05-04 14:05:04 +10:00
msm_debugfs.c drm/msm: Remove obsolete perf infrastructure 2026-05-29 07:07:27 -07:00
msm_debugfs.h
msm_drv.c drm/msm: Fix the separate_gpu_kms parameter description 2026-09-10 10:54:46 -07:00
msm_drv.h drm/msm/dp: reject YUV420-only modes without VSC SDP support 2026-07-31 16:56:28 +03:00
msm_dsc_helper.h drm/msm/dsi: Use existing per-interface slice count in DSC timing 2025-02-26 12:15:48 +02:00
msm_fb.c drm/msm: Make msm_framebuffer_init() an internal interface again 2026-07-31 16:50:21 +03:00
msm_fbdev.c drm/msm: mark the fbdev framebuffer as system memory 2026-09-14 00:11:24 +03:00
msm_fence.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
msm_fence.h drm/msm: msm_fence.h: fix all kernel-doc warnings 2025-12-24 11:24:19 +02:00
msm_gem_prime.c drm/msm/gem: Fix dma_buf import error paths 2026-07-29 11:56:02 -07:00
msm_gem_shrinker.c drm/msm: Restore second parameter name in purge() and evict() 2026-05-29 15:08:00 +03:00
msm_gem_submit.c drm/msm: Fixup invalid overflow check 2026-07-29 11:56:03 -07:00
msm_gem_vma.c drm/msm: RCU-free the scheduler-containing ring and VM objects 2026-09-10 10:54:46 -07:00
msm_gem.c drm next/fixes for 7.3-rc1 2026-08-28 16:37:55 -07:00
msm_gem.h drm/msm: RCU-free the scheduler-containing ring and VM objects 2026-09-10 10:54:46 -07:00
msm_gpu_devfreq.c drm/msm/gpu: Fix crash when throttling GPU immediately during boot 2025-05-04 09:20:28 -07:00
msm_gpu_trace.h drm/msm: Add an ftrace for gpu register access 2025-09-08 07:24:59 -07:00
msm_gpu_tracepoints.c
msm_gpu.c drm/msm: Don't fallback to shared VM for VM_BIND 2026-07-29 11:56:02 -07:00
msm_gpu.h drm/msm: Rework queuelock 2026-07-29 11:56:01 -07:00
msm_io_utils.c
msm_iommu.c drm/msm: detach the ARM DMA mapping before attaching our own domain 2026-07-31 17:08:01 +03:00
msm_kms.c treewide: Replace kmalloc with kmalloc_obj for non-scalar types 2026-02-21 01:02:28 -08:00
msm_kms.h drm: Rename struct drm_atomic_state to drm_atomic_commit 2026-05-04 14:05:04 +10:00
msm_mdss.c drm/msm/mdss: use new helper to set amsbc 2026-05-22 16:43:13 +03:00
msm_mmu.h drm/msm: Support pgtable preallocation 2025-07-04 17:48:37 -07:00
msm_perfcntr.c drm/msm/a6xx: Allow IFPC with perfcntr stream 2026-05-29 07:07:30 -07:00
msm_perfcntr.h drm/msm: Add PERFCNTR_CONFIG ioctl 2026-05-29 07:07:29 -07:00
msm_rd.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
msm_ringbuffer.c drm/msm: RCU-free the scheduler-containing ring and VM objects 2026-09-10 10:54:46 -07:00
msm_ringbuffer.h drm/msm: RCU-free the scheduler-containing ring and VM objects 2026-09-10 10:54:46 -07:00
msm_submitqueue.c drm/msm: Allow lazy VM creation to fail 2026-07-29 11:56:02 -07:00
msm_syncobj.c treewide: Replace kmalloc with kmalloc_obj for non-scalar types 2026-02-21 01:02:28 -08:00
msm_syncobj.h drm/msm: Extract out syncobj helpers 2025-07-04 17:48:37 -07:00
NOTES