]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/commitdiff
dmaengine: sh: rcar-dmac: Check for error num after setting mask
authorJiasheng Jiang <jiasheng@iscas.ac.cn>
Thu, 6 Jan 2022 03:09:39 +0000 (11:09 +0800)
committerPaolo Pisati <paolo.pisati@canonical.com>
Mon, 7 Mar 2022 10:44:18 +0000 (11:44 +0100)
BugLink: https://bugs.launchpad.net/bugs/1963890
commit 2d21543efe332cd8c8f212fb7d365bc8b0690bfa upstream.

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>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Paolo Pisati <paolo.pisati@canonical.com>
drivers/dma/sh/rcar-dmac.c

index 6885b3dcd7a973f25ae92340a9f03cd455fbf5cc..79901d0e9fbf960b43940e18f49e1df9724ff5ae 100644 (file)
@@ -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)