[lvc-project] [PATCH 2/2] [v2] wifi: brcmfmac: handle possible MSI enabling error
Dmitry Antipov
dmantipov at yandex.ru
Wed Jun 14 10:58:48 MSK 2023
Handle possible 'pci_enable_msi()' error in
'brcmf_pcie_request_irq()', adjust related code.
Found by Linux Verification Center (linuxtesting.org) with SVACE.
Signed-off-by: Dmitry Antipov <dmantipov at yandex.ru>
---
v2: rebase against wireless-next tree
---
.../net/wireless/broadcom/brcm80211/brcmfmac/pcie.c | 12 ++++++++----
1 file changed, 8 insertions(+), 4 deletions(-)
diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
index 80220685f5e4..f7d9f2cbd60b 100644
--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
@@ -965,6 +965,7 @@ static irqreturn_t brcmf_pcie_isr_thread(int irq, void *arg)
static int brcmf_pcie_request_irq(struct brcmf_pciedev_info *devinfo)
{
+ int ret;
struct pci_dev *pdev = devinfo->pdev;
struct brcmf_bus *bus = dev_get_drvdata(&pdev->dev);
@@ -972,16 +973,19 @@ static int brcmf_pcie_request_irq(struct brcmf_pciedev_info *devinfo)
brcmf_dbg(PCIE, "Enter\n");
- pci_enable_msi(pdev);
+ ret = pci_enable_msi(pdev);
+ if (ret)
+ return ret;
if (request_threaded_irq(pdev->irq, brcmf_pcie_quick_check_isr,
brcmf_pcie_isr_thread, IRQF_SHARED,
"brcmf_pcie_intr", devinfo)) {
pci_disable_msi(pdev);
brcmf_err(bus, "Failed to request IRQ %d\n", pdev->irq);
- return -EIO;
+ ret = -EIO;
+ } else {
+ devinfo->irq_allocated = true;
}
- devinfo->irq_allocated = true;
- return 0;
+ return ret;
}
--
2.40.1
More information about the lvc-project
mailing list