Commit e9f03b9625e2 for kernel

commit e9f03b9625e2eeaca357b065c92d5b14064a1583
Author: Shengzhuo Wei <me@cherr.cc>
Date:   Thu Aug 27 23:43:02 2026 +0800

    i2c: imx: release DMA channels on probe error

    i2c_imx_dma_request() acquires exclusive tx/rx DMA channels and is
    optional: on errors other than -EPROBE_DEFER the driver falls back to
    PIO mode and probe continues. If i2c_add_numbered_adapter() then fails,
    probe returns through clk_notifier_unregister without releasing the
    channels, because the remove callback is not invoked after a failed
    probe.

    Release the channels on the probe error path, mirroring
    i2c_imx_remove().

    Fixes: ce1a78840ff7 ("i2c: imx: add DMA support for freescale i2c driver")
    Assisted-by: GLM:5.3
    Signed-off-by: Shengzhuo Wei <me@cherr.cc>
    Cc: <stable@vger.kernel.org> # v3.19+
    Reviewed-by: Frank Li <Frank.Li@nxp.com>
    Signed-off-by: Andi Shyti <andi.shyti@kernel.org>
    Link: https://patch.msgid.link/20260827-i2c-dma-channel-leak-v1-2-271d4adc03a0@cherr.cc

diff --git a/drivers/i2c/busses/i2c-imx.c b/drivers/i2c/busses/i2c-imx.c
index 4dc3df6a41a4..ff5a91158df9 100644
--- a/drivers/i2c/busses/i2c-imx.c
+++ b/drivers/i2c/busses/i2c-imx.c
@@ -1880,6 +1880,8 @@ static int i2c_imx_probe(struct platform_device *pdev)

 clk_notifier_unregister:
 	clk_notifier_unregister(i2c_imx->clk, &i2c_imx->clk_change_nb);
+	if (i2c_imx->dma)
+		i2c_imx_dma_free(i2c_imx);
 	free_irq(irq, i2c_imx);
 rpm_disable:
 	pm_runtime_put_noidle(&pdev->dev);