]> git.ipfire.org Git - people/ms/linux.git/commitdiff
isdn: hfcpci: check the return value of dma_set_mask() in setup_hw()
authorJia-Ju Bai <baijiaju1990@gmail.com>
Sat, 5 Mar 2022 08:58:16 +0000 (00:58 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 16 Mar 2022 13:23:36 +0000 (14:23 +0100)
[ Upstream commit d0aeb0d4a3f7d2a0df7e9545892bbeede8f2ac7e ]

The function dma_set_mask() in setup_hw() can fail, so its return value
should be checked.

Fixes: 1700fe1a10dc ("Add mISDN HFC PCI driver")
Reported-by: TOTE Robot <oslab@tsinghua.edu.cn>
Signed-off-by: Jia-Ju Bai <baijiaju1990@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/isdn/hardware/mISDN/hfcpci.c

index bd087cca1c1d2d0aca56d7479598d0c2f50c228b..af17459c1a5c02d847d801be97f72605c1870e51 100644 (file)
@@ -2005,7 +2005,11 @@ setup_hw(struct hfc_pci *hc)
        }
        /* Allocate memory for FIFOS */
        /* the memory needs to be on a 32k boundary within the first 4G */
-       dma_set_mask(&hc->pdev->dev, 0xFFFF8000);
+       if (dma_set_mask(&hc->pdev->dev, 0xFFFF8000)) {
+               printk(KERN_WARNING
+                      "HFC-PCI: No usable DMA configuration!\n");
+               return -EIO;
+       }
        buffer = dma_alloc_coherent(&hc->pdev->dev, 0x8000, &hc->hw.dmahandle,
                                    GFP_KERNEL);
        /* We silently assume the address is okay if nonzero */