]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
net: macb: Check return value of dma_set_mask_and_coherent()
authorSergio Perez Gonzalez <sperezglz@gmail.com>
Mon, 26 May 2025 03:20:31 +0000 (21:20 -0600)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 27 Jun 2025 10:05:31 +0000 (11:05 +0100)
[ Upstream commit 3920a758800762917177a6b5ab39707d8e376fe6 ]

Issue flagged by coverity. Add a safety check for the return value
of dma_set_mask_and_coherent, go to a safe exit if it returns error.

Link: https://scan7.scan.coverity.com/#/project-view/53936/11354?selectedIssue=1643754
Signed-off-by: Sergio Perez Gonzalez <sperezglz@gmail.com>
Reviewed-by: Claudiu Beznea <claudiu.beznea@tuxon.dev>
Link: https://patch.msgid.link/20250526032034.84900-1-sperezglz@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/ethernet/cadence/macb_main.c

index 667af80a739b972389865e15b4948e94583deac8..2266a3ecc5533af9d29e5efe6235f92a2699d9b7 100644 (file)
@@ -4809,7 +4809,11 @@ static int macb_probe(struct platform_device *pdev)
 
 #ifdef CONFIG_ARCH_DMA_ADDR_T_64BIT
        if (GEM_BFEXT(DAW64, gem_readl(bp, DCFG6))) {
-               dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(44));
+               err = dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(44));
+               if (err) {
+                       dev_err(&pdev->dev, "failed to set DMA mask\n");
+                       goto err_out_free_netdev;
+               }
                bp->hw_dma_cap |= HW_DMA_CAP_64B;
        }
 #endif