[PATCH] dma: jz4780: handle clk_prepare_enable() failure in probe
From: Jiawen Liu
Date: Tue Aug 18 2026 - 08:43:10 EST
From: jiawen <1298662399@xxxxxx>
jz4780_dma_probe() ignores the return value of clk_prepare_enable(). If
the clock fails to enable, the driver continues and may later attempt to
disable an unprepared clock on error paths, leading to unbalanced clock
operations.
Check the return value and propagate the error immediately, avoiding the
erroneous cleanup.
Signed-off-by: jiawen <1298662399@xxxxxx>
---
diff --git a/drivers/dma/dma-jz4780.c b/drivers/dma/dma-jz4780.c
--- a/drivers/dma/dma-jz4780.c
+++ b/drivers/dma/dma-jz4780.c
@@ -903,7 +903,9 @@
return ret;
}
- clk_prepare_enable(jzdma->clk);
+ ret = clk_prepare_enable(jzdma->clk);
+ if (ret)
+ return ret;
/* Property is optional, if it doesn't exist the value will remain 0. */
of_property_read_u32_index(dev->of_node, "ingenic,reserved-channels",