summaryrefslogtreecommitdiffstats
path: root/drivers/dma/xilinx
diff options
context:
space:
mode:
authorSwati Agarwal <swati.agarwal@xilinx.com>2022-08-17 11:41:25 +0530
committerVinod Koul <vkoul@kernel.org>2022-09-04 22:54:07 +0530
commit8f2b6bc79c32f0fa60df000ae387a790ec80eae9 (patch)
tree5e94e99c87a9b9e6f3c9e2cd7e2aa963799d38d5 /drivers/dma/xilinx
parent462bce790e6a7e68620a4ce260cc38f7ed0255d5 (diff)
downloadlinux-stable-8f2b6bc79c32f0fa60df000ae387a790ec80eae9.tar.gz
linux-stable-8f2b6bc79c32f0fa60df000ae387a790ec80eae9.tar.bz2
linux-stable-8f2b6bc79c32f0fa60df000ae387a790ec80eae9.zip
dmaengine: xilinx_dma: Report error in case of dma_set_mask_and_coherent API failure
The driver does not handle the failure case while calling dma_set_mask_and_coherent API. In case of failure, capture the return value of API and then report an error. Addresses-coverity: Unchecked return value (CHECKED_RETURN) Signed-off-by: Swati Agarwal <swati.agarwal@xilinx.com> Reviewed-by: Radhey Shyam Pandey <radhey.shyam.pandey@xilinx.com> Link: https://lore.kernel.org/r/20220817061125.4720-4-swati.agarwal@xilinx.com Signed-off-by: Vinod Koul <vkoul@kernel.org>
Diffstat (limited to 'drivers/dma/xilinx')
-rw-r--r--drivers/dma/xilinx/xilinx_dma.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/dma/xilinx/xilinx_dma.c b/drivers/dma/xilinx/xilinx_dma.c
index 5e6e46437aea..8cd4e69dc7b4 100644
--- a/drivers/dma/xilinx/xilinx_dma.c
+++ b/drivers/dma/xilinx/xilinx_dma.c
@@ -3091,7 +3091,11 @@ static int xilinx_dma_probe(struct platform_device *pdev)
xdev->ext_addr = false;
/* Set the dma mask bits */
- dma_set_mask_and_coherent(xdev->dev, DMA_BIT_MASK(addr_width));
+ err = dma_set_mask_and_coherent(xdev->dev, DMA_BIT_MASK(addr_width));
+ if (err < 0) {
+ dev_err(xdev->dev, "DMA mask error %d\n", err);
+ goto disable_clks;
+ }
/* Initialize the DMA engine */
xdev->common.dev = &pdev->dev;