linux/drivers/gpu/drm/arm
Gustavo Kenji Mendonça Kaneko 6502eb8cfc drm/arm/komeda: fix error handling for clk_prepare_enable() and callers
komeda_dev_resume() calls clk_prepare_enable() without checking the
return value. If the clock fails to enable, the function returns 0
(success) while IRQs are enabled and IOMMU is connected on potentially
unclocked hardware, causing undefined behavior on resume.

Propagate the error from clk_prepare_enable() and fix all call sites
in komeda_drv.c that previously ignored the return value of
komeda_dev_resume():

- komeda_platform_probe(): if resume fails, jump to err_destroy_mdev
  (skipping the suspend call, since the clock was never enabled)
- komeda_pm_resume(): propagate the error and skip
  drm_mode_config_helper_resume() on failure

This issue was found by code review without access to Komeda hardware.

Signed-off-by: Gustavo Kenji Mendonça Kaneko <kaneko.dev@pm.me>
Reviewed-by: Liviu Dudau <liviu.dudau@arm.com>
Link: https://patch.msgid.link/20260609130828.1066038-1-kaneko.dev@pm.me
Signed-off-by: Liviu Dudau <liviu.dudau@arm.com>
2026-06-30 15:26:54 +01:00
..
display drm/arm/komeda: fix error handling for clk_prepare_enable() and callers 2026-06-30 15:26:54 +01:00
hdlcd_crtc.c drm: Rename struct drm_atomic_state to drm_atomic_commit 2026-05-04 14:05:04 +10:00
hdlcd_drv.c drm: include drm_print.h where needed 2025-10-31 10:34:52 +02:00
hdlcd_drv.h drm/arm/hdlcd: replace drm->dev_private with drm_to_hdlcd_priv() 2022-11-07 20:47:34 +00:00
hdlcd_regs.h
Kconfig drm/i2c: move TDA998x driver under drivers/gpu/drm/bridge 2025-02-13 00:19:41 +02:00
Makefile treewide: Add SPDX license identifier - Makefile/Kconfig 2019-05-21 10:50:46 +02:00
malidp_crtc.c drm: Rename struct drm_atomic_state to drm_atomic_commit 2026-05-04 14:05:04 +10:00
malidp_drv.c drm/arm/malidp: use clk_bulk API in runtime PM resume and suspend 2026-06-30 15:26:54 +01:00
malidp_drv.h drm/arm/malidp: replace drm->dev_private with drm_to_malidp() 2022-11-16 10:33:41 +00:00
malidp_hw.c drm/arm/malidp: replace drm->dev_private with drm_to_malidp() 2022-11-16 10:33:41 +00:00
malidp_hw.h drm/arm/mali-dp: Add display QoS interface configuration for Mali DP500 2019-10-08 16:13:36 +01:00
malidp_mw.c drm: Rename struct drm_atomic_state to drm_atomic_commit 2026-05-04 14:05:04 +10:00
malidp_mw.h drm: Rename struct drm_atomic_state to drm_atomic_commit 2026-05-04 14:05:04 +10:00
malidp_planes.c drm: Rename struct drm_atomic_state to drm_atomic_commit 2026-05-04 14:05:04 +10:00
malidp_regs.h drm/arm: Fix spelling typo in comments 2022-07-22 12:54:51 +01:00