Commit 63e65608 authored by Linus Torvalds's avatar Linus Torvalds

Merge branch 'fixes' of git://git.infradead.org/users/vkoul/slave-dma

Pull slave-dmaengine fixes from Vinod Koul:
 "Here is the late fixes pull request for dmaengine while you fly back
  from KS.

  We have a new dmaengine ML hosted by vger so a patch for that along
  with addition of Dave as driver mainatainer for ioat.  Other fixes are
  memeory leak fixes on edma driver, small fixes on rcar-hpbdma driver
  by Sergei"

* 'fixes' of git://git.infradead.org/users/vkoul/slave-dma:
  dmaengine: edma: fix another memory leak
  dma: edma: Fix memory leak
  MAINTAINERS: add to ioatdma maintainer list
  MAINTAINERS: add the new dmaengine mailing list
parents 20582e34 72618287
...@@ -2728,6 +2728,8 @@ T: git git://git.linaro.org/people/sumitsemwal/linux-dma-buf.git ...@@ -2728,6 +2728,8 @@ T: git git://git.linaro.org/people/sumitsemwal/linux-dma-buf.git
DMA GENERIC OFFLOAD ENGINE SUBSYSTEM DMA GENERIC OFFLOAD ENGINE SUBSYSTEM
M: Vinod Koul <vinod.koul@intel.com> M: Vinod Koul <vinod.koul@intel.com>
M: Dan Williams <dan.j.williams@intel.com> M: Dan Williams <dan.j.williams@intel.com>
L: dmaengine@vger.kernel.org
Q: https://patchwork.kernel.org/project/linux-dmaengine/list/
S: Supported S: Supported
F: drivers/dma/ F: drivers/dma/
F: include/linux/dma* F: include/linux/dma*
...@@ -4367,7 +4369,10 @@ F: arch/x86/kernel/microcode_intel.c ...@@ -4367,7 +4369,10 @@ F: arch/x86/kernel/microcode_intel.c
INTEL I/OAT DMA DRIVER INTEL I/OAT DMA DRIVER
M: Dan Williams <dan.j.williams@intel.com> M: Dan Williams <dan.j.williams@intel.com>
S: Maintained M: Dave Jiang <dave.jiang@intel.com>
L: dmaengine@vger.kernel.org
Q: https://patchwork.kernel.org/project/linux-dmaengine/list/
S: Supported
F: drivers/dma/ioat* F: drivers/dma/ioat*
INTEL IOMMU (VT-d) INTEL IOMMU (VT-d)
......
...@@ -305,6 +305,7 @@ static struct dma_async_tx_descriptor *edma_prep_slave_sg( ...@@ -305,6 +305,7 @@ static struct dma_async_tx_descriptor *edma_prep_slave_sg(
edma_alloc_slot(EDMA_CTLR(echan->ch_num), edma_alloc_slot(EDMA_CTLR(echan->ch_num),
EDMA_SLOT_ANY); EDMA_SLOT_ANY);
if (echan->slot[i] < 0) { if (echan->slot[i] < 0) {
kfree(edesc);
dev_err(dev, "Failed to allocate slot\n"); dev_err(dev, "Failed to allocate slot\n");
kfree(edesc); kfree(edesc);
return NULL; return NULL;
...@@ -346,6 +347,7 @@ static struct dma_async_tx_descriptor *edma_prep_slave_sg( ...@@ -346,6 +347,7 @@ static struct dma_async_tx_descriptor *edma_prep_slave_sg(
ccnt = sg_dma_len(sg) / (acnt * bcnt); ccnt = sg_dma_len(sg) / (acnt * bcnt);
if (ccnt > (SZ_64K - 1)) { if (ccnt > (SZ_64K - 1)) {
dev_err(dev, "Exceeded max SG segment size\n"); dev_err(dev, "Exceeded max SG segment size\n");
kfree(edesc);
return NULL; return NULL;
} }
cidx = acnt * bcnt; cidx = acnt * bcnt;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment