]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/commitdiff
i2c: imx: fix i2c resource leak with dma transfer
authorGao Pan <pandy.gao@nxp.com>
Fri, 8 Jan 2016 05:33:15 +0000 (13:33 +0800)
committerWolfram Sang <wsa@the-dreams.de>
Sun, 10 Jan 2016 09:10:28 +0000 (10:10 +0100)
In i2c_imx_dma_xfer(), when dmaengine_submit() returns error,
the context goto label err_submit and then return. However, the
memory allocated for txdesc has not been freed yet, which
leads to resource leak.

Signed-off-by: Gao Pan <b54642@freescale.com>
Signed-off-by: Fugang Duan <B38611@freescale.com>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
drivers/i2c/busses/i2c-imx.c

index 8b68dbf4786ccf7365a12174a83cb4c75773c855..a2b132cef71725f7c4dcce0b980451f43840768d 100644 (file)
@@ -387,6 +387,7 @@ static int i2c_imx_dma_xfer(struct imx_i2c_struct *i2c_imx,
        return 0;
 
 err_submit:
+       dmaengine_terminate_all(dma->chan_using);
 err_desc:
        dma_unmap_single(chan_dev, dma->dma_buf,
                        dma->dma_len, dma->dma_data_dir);