[PATCH 2/2] media: c3-mipi-csi2: handle runtime resume failure
From: Jiale Yao
Date: Sat Oct 03 2026 - 04:16:31 EST
c3_mipi_csi_enable_streams() ignores runtime resume failures and starts
the receiver before reporting that streaming is enabled. If the power
domain could not be resumed, this accesses unavailable registers and
the disable path later drops a reference that was not acquired.
Return the runtime PM error before starting the receiver.
Fixes: b63ef604a28d ("media: platform: Add C3 MIPI CSI-2 driver")
Signed-off-by: Jiale Yao <yaojiale02@xxxxxxx>
---
drivers/media/platform/amlogic/c3/mipi-csi2/c3-mipi-csi2.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/media/platform/amlogic/c3/mipi-csi2/c3-mipi-csi2.c b/drivers/media/platform/amlogic/c3/mipi-csi2/c3-mipi-csi2.c
index b9e4ef3fc308..4731d58bf2dd 100644
--- a/drivers/media/platform/amlogic/c3/mipi-csi2/c3-mipi-csi2.c
+++ b/drivers/media/platform/amlogic/c3/mipi-csi2/c3-mipi-csi2.c
@@ -431,7 +431,9 @@ static int c3_mipi_csi_enable_streams(struct v4l2_subdev *sd,
src_sd = media_entity_to_v4l2_subdev(csi->src_pad->entity);
- pm_runtime_resume_and_get(csi->dev);
+ ret = pm_runtime_resume_and_get(csi->dev);
+ if (ret < 0)
+ return ret;
c3_mipi_csi_start_stream(csi);
--
2.34.1