[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",