diff options
-rw-r--r-- | MAINTAINERS | 7 | ||||
-rw-r--r-- | drivers/dma/edma.c | 2 |
2 files changed, 8 insertions, 1 deletions
diff --git a/MAINTAINERS b/MAINTAINERS index c8d60c45c22e..3438384d270c 100644 --- a/MAINTAINERS +++ b/MAINTAINERS | |||
@@ -2728,6 +2728,8 @@ T: git git://git.linaro.org/people/sumitsemwal/linux-dma-buf.git | |||
2728 | DMA GENERIC OFFLOAD ENGINE SUBSYSTEM | 2728 | DMA GENERIC OFFLOAD ENGINE SUBSYSTEM |
2729 | M: Vinod Koul <vinod.koul@intel.com> | 2729 | M: Vinod Koul <vinod.koul@intel.com> |
2730 | M: Dan Williams <dan.j.williams@intel.com> | 2730 | M: Dan Williams <dan.j.williams@intel.com> |
2731 | L: dmaengine@vger.kernel.org | ||
2732 | Q: https://patchwork.kernel.org/project/linux-dmaengine/list/ | ||
2731 | S: Supported | 2733 | S: Supported |
2732 | F: drivers/dma/ | 2734 | F: drivers/dma/ |
2733 | F: include/linux/dma* | 2735 | F: include/linux/dma* |
@@ -4367,7 +4369,10 @@ F: arch/x86/kernel/microcode_intel.c | |||
4367 | 4369 | ||
4368 | INTEL I/OAT DMA DRIVER | 4370 | INTEL I/OAT DMA DRIVER |
4369 | M: Dan Williams <dan.j.williams@intel.com> | 4371 | M: Dan Williams <dan.j.williams@intel.com> |
4370 | S: Maintained | 4372 | M: Dave Jiang <dave.jiang@intel.com> |
4373 | L: dmaengine@vger.kernel.org | ||
4374 | Q: https://patchwork.kernel.org/project/linux-dmaengine/list/ | ||
4375 | S: Supported | ||
4371 | F: drivers/dma/ioat* | 4376 | F: drivers/dma/ioat* |
4372 | 4377 | ||
4373 | INTEL IOMMU (VT-d) | 4378 | INTEL IOMMU (VT-d) |
diff --git a/drivers/dma/edma.c b/drivers/dma/edma.c index 3519111c566b..10b577fcf48d 100644 --- a/drivers/dma/edma.c +++ b/drivers/dma/edma.c | |||
@@ -305,6 +305,7 @@ static struct dma_async_tx_descriptor *edma_prep_slave_sg( | |||
305 | edma_alloc_slot(EDMA_CTLR(echan->ch_num), | 305 | edma_alloc_slot(EDMA_CTLR(echan->ch_num), |
306 | EDMA_SLOT_ANY); | 306 | EDMA_SLOT_ANY); |
307 | if (echan->slot[i] < 0) { | 307 | if (echan->slot[i] < 0) { |
308 | kfree(edesc); | ||
308 | dev_err(dev, "Failed to allocate slot\n"); | 309 | dev_err(dev, "Failed to allocate slot\n"); |
309 | kfree(edesc); | 310 | kfree(edesc); |
310 | return NULL; | 311 | return NULL; |
@@ -346,6 +347,7 @@ static struct dma_async_tx_descriptor *edma_prep_slave_sg( | |||
346 | ccnt = sg_dma_len(sg) / (acnt * bcnt); | 347 | ccnt = sg_dma_len(sg) / (acnt * bcnt); |
347 | if (ccnt > (SZ_64K - 1)) { | 348 | if (ccnt > (SZ_64K - 1)) { |
348 | dev_err(dev, "Exceeded max SG segment size\n"); | 349 | dev_err(dev, "Exceeded max SG segment size\n"); |
350 | kfree(edesc); | ||
349 | return NULL; | 351 | return NULL; |
350 | } | 352 | } |
351 | cidx = acnt * bcnt; | 353 | cidx = acnt * bcnt; |