Skip to content

Commit 5b5c32b

Browse files
marcanjannau
authored andcommitted
wifi: brcmfmac: pcie: Initialize IRQs before firmware boot
Newer firmwares notify the host of boot completion via an MSI, so let's make sure that is initialized before booting the firmware. Signed-off-by: Hector Martin <marcan@marcan.st>
1 parent b7a54db commit 5b5c32b

1 file changed

Lines changed: 8 additions & 3 deletions

File tree

  • drivers/net/wireless/broadcom/brcm80211/brcmfmac

drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2480,6 +2480,14 @@ static void brcmf_pcie_setup(struct device *dev, int ret,
24802480
*/
24812481
brcmf_pcie_adjust_ramsize(devinfo, (u8 *)fw->data, fw->size);
24822482

2483+
/* Newer firmwares will signal firmware boot via MSI, so make sure we
2484+
* initialize that upfront.
2485+
*/
2486+
brcmf_pcie_select_core(devinfo, BCMA_CORE_PCIE2);
2487+
ret = brcmf_pcie_request_irq(devinfo);
2488+
if (ret)
2489+
goto fail;
2490+
24832491
ret = brcmf_pcie_download_fw_nvram(devinfo, fw, fwsig, nvram, nvram_len);
24842492
if (ret)
24852493
goto fail;
@@ -2495,9 +2503,6 @@ static void brcmf_pcie_setup(struct device *dev, int ret,
24952503
goto fail;
24962504

24972505
brcmf_pcie_select_core(devinfo, BCMA_CORE_PCIE2);
2498-
ret = brcmf_pcie_request_irq(devinfo);
2499-
if (ret)
2500-
goto fail;
25012506

25022507
/* hook the commonrings in the bus structure. */
25032508
for (i = 0; i < BRCMF_NROF_COMMON_MSGRINGS; i++)

0 commit comments

Comments
 (0)