[PATCH] isdn: hfcpci: check the return value of dma_set_mask() in setup_hw()

Jia-Ju Bai posted 1 patch 4 years, 3 months ago
There is a newer version of this series
drivers/isdn/hardware/mISDN/hfcpci.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
[PATCH] isdn: hfcpci: check the return value of dma_set_mask() in setup_hw()
Posted by Jia-Ju Bai 4 years, 3 months ago
The function dma_set_mask() in setup_hw() can fail, so its return value
should be checked.

Fixes: e85da794f658 ("mISDN: switch from 'pci_' to 'dma_' API")
Reported-by: TOTE Robot <oslab@tsinghua.edu.cn>
Signed-off-by: Jia-Ju Bai <baijiaju1990@gmail.com>
---
 drivers/isdn/hardware/mISDN/hfcpci.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/drivers/isdn/hardware/mISDN/hfcpci.c b/drivers/isdn/hardware/mISDN/hfcpci.c
index bd087cca1c1d..af17459c1a5c 100644
--- a/drivers/isdn/hardware/mISDN/hfcpci.c
+++ b/drivers/isdn/hardware/mISDN/hfcpci.c
@@ -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 */
-- 
2.17.1
Re: [PATCH] isdn: hfcpci: check the return value of dma_set_mask() in setup_hw()
Posted by Jakub Kicinski 4 years, 3 months ago
On Wed,  2 Mar 2022 18:57:10 -0800 Jia-Ju Bai wrote:
> The function dma_set_mask() in setup_hw() can fail, so its return value
> should be checked.
> 
> Fixes: e85da794f658 ("mISDN: switch from 'pci_' to 'dma_' API")

The change under Fixes only switched the helper the driver uses,
it did not introduce the problem. The Fixes tag should point to 
the earliest commit where the problem is present.
Re: [PATCH] isdn: hfcpci: check the return value of dma_set_mask() in setup_hw()
Posted by Jia-Ju Bai 4 years, 3 months ago

On 2022/3/4 13:15, Jakub Kicinski wrote:
> On Wed,  2 Mar 2022 18:57:10 -0800 Jia-Ju Bai wrote:
>> The function dma_set_mask() in setup_hw() can fail, so its return value
>> should be checked.
>>
>> Fixes: e85da794f658 ("mISDN: switch from 'pci_' to 'dma_' API")
> The change under Fixes only switched the helper the driver uses,
> it did not introduce the problem. The Fixes tag should point to
> the earliest commit where the problem is present.

Hi Jakub,

Thanks for the advice.
I will send a V2 patch.


Best wishes,
Jia-Ju Bai