diff options
author | Jiasheng Jiang <jiasheng@iscas.ac.cn> | 2022-01-06 04:09:39 +0100 |
---|---|---|
committer | Vinod Koul <vkoul@kernel.org> | 2022-02-15 06:27:17 +0100 |
commit | 2d21543efe332cd8c8f212fb7d365bc8b0690bfa (patch) | |
tree | f42eefa8f03df33569e29ec450327a7b411abd9d /drivers | |
parent | dmaengine: at_xdmac: Fix missing unlock in at_xdmac_tasklet() (diff) | |
download | linux-2d21543efe332cd8c8f212fb7d365bc8b0690bfa.tar.xz linux-2d21543efe332cd8c8f212fb7d365bc8b0690bfa.zip |
dmaengine: sh: rcar-dmac: Check for error num after setting mask
Because of the possible failure of the dma_supported(), the
dma_set_mask_and_coherent() may return error num.
Therefore, it should be better to check it and return the error if
fails.
Fixes: dc312349e875 ("dmaengine: rcar-dmac: Widen DMA mask to 40 bits")
Signed-off-by: Jiasheng Jiang <jiasheng@iscas.ac.cn>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/r/20220106030939.2644320-1-jiasheng@iscas.ac.cn
Signed-off-by: Vinod Koul <vkoul@kernel.org>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/dma/sh/rcar-dmac.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/dma/sh/rcar-dmac.c b/drivers/dma/sh/rcar-dmac.c index 481f45c77ce1..4a34ddd9c1c6 100644 --- a/drivers/dma/sh/rcar-dmac.c +++ b/drivers/dma/sh/rcar-dmac.c @@ -1869,7 +1869,9 @@ static int rcar_dmac_probe(struct platform_device *pdev) dmac->dev = &pdev->dev; platform_set_drvdata(pdev, dmac); dma_set_max_seg_size(dmac->dev, RCAR_DMATCR_MASK); - dma_set_mask_and_coherent(dmac->dev, DMA_BIT_MASK(40)); + ret = dma_set_mask_and_coherent(dmac->dev, DMA_BIT_MASK(40)); + if (ret) + return ret; ret = rcar_dmac_parse_of(&pdev->dev, dmac); if (ret < 0) |