浏览代码

i2c: imx: fix i2c resource leak with dma transfer

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>
Gao Pan 9 年之前
父节点
当前提交
c552815312
共有 1 个文件被更改,包括 1 次插入0 次删除
  1. 1 0
      drivers/i2c/busses/i2c-imx.c

+ 1 - 0
drivers/i2c/busses/i2c-imx.c

@@ -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);