Skip to content

Commit e49ad32

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 35c6c38 commit e49ad32

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
@@ -2482,6 +2482,14 @@ static void brcmf_pcie_setup(struct device *dev, int ret,
24822482
*/
24832483
brcmf_pcie_adjust_ramsize(devinfo, (u8 *)fw->data, fw->size);
24842484

2485+
/* Newer firmwares will signal firmware boot via MSI, so make sure we
2486+
* initialize that upfront.
2487+
*/
2488+
brcmf_pcie_select_core(devinfo, BCMA_CORE_PCIE2);
2489+
ret = brcmf_pcie_request_irq(devinfo);
2490+
if (ret)
2491+
goto fail;
2492+
24852493
ret = brcmf_pcie_download_fw_nvram(devinfo, fw, fwsig, nvram, nvram_len);
24862494
if (ret)
24872495
goto fail;
@@ -2497,9 +2505,6 @@ static void brcmf_pcie_setup(struct device *dev, int ret,
24972505
goto fail;
24982506

24992507
brcmf_pcie_select_core(devinfo, BCMA_CORE_PCIE2);
2500-
ret = brcmf_pcie_request_irq(devinfo);
2501-
if (ret)
2502-
goto fail;
25032508

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

0 commit comments

Comments
 (0)