[PATCH v5 0/2] media: amd: isp4: fix error handling in isp4sd_pwron_and_init()
From: Yifei Gao
Date: Thu Jul 30 2026 - 10:38:57 EST
This series fixes the error handling in isp4sd_pwron_and_init().
Patch 1 makes isp4if_alloc_fw_gpumem() release partial allocations on
failure, an independent leak that was previously masked by the deadlock
fixed in patch 2.
Patch 2 reworks the power-on error path into staged cleanup, fixing the
self-deadlock and, once it is gone, the runtime-PM imbalance and
unpowered MMIO access. The staged path relies on isp4if_start() cleaning
up fully on failure, which patch 1 completes, so patch 1 comes first.
Changes since v4:
- Made isp4if_gpu_mem_free() silent on NULL entries, which are expected
during partial-allocation cleanup, per Bin Du's review.
Changes since v3:
- Trimmed the commit message of patch 2 per Sakari's review; no
functional change.
Changes since v2:
- Added patch 1 to release partial allocations in
isp4if_alloc_fw_gpumem(), as pointed out by Bin Du.
- Patch 2 is otherwise unchanged from v2.
v4: https://lore.kernel.org/linux-media/20260728190754.363464-1-gyf161023@xxxxxxxxx/
v3: https://lore.kernel.org/linux-media/20260728141659.62310-1-gyf161023@xxxxxxxxx/
v2: https://lore.kernel.org/linux-media/20260727183500.298036-1-gyf161023@xxxxxxxxx/
v1: https://lore.kernel.org/linux-media/20260725203640.915626-1-gyf161023@xxxxxxxxx/
Yifei Gao (2):
media: amd: isp4: release partial allocations in
isp4if_alloc_fw_gpumem()
media: amd: isp4: fix self-deadlock in isp4sd_pwron_and_init() error
path
.../media/platform/amd/isp4/isp4_interface.c | 6 ++--
drivers/media/platform/amd/isp4/isp4_subdev.c | 28 +++++++++++++++----
2 files changed, 24 insertions(+), 10 deletions(-)
--
2.43.0