Skip to content

Commit 0e0669a

Browse files
committed
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 8190add commit 0e0669a

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

2489+
/* Newer firmwares will signal firmware boot via MSI, so make sure we
2490+
* initialize that upfront.
2491+
*/
2492+
brcmf_pcie_select_core(devinfo, BCMA_CORE_PCIE2);
2493+
ret = brcmf_pcie_request_irq(devinfo);
2494+
if (ret)
2495+
goto fail;
2496+
24892497
ret = brcmf_pcie_download_fw_nvram(devinfo, fw, fwsig, nvram, nvram_len);
24902498
if (ret)
24912499
goto fail;
@@ -2501,9 +2509,6 @@ static void brcmf_pcie_setup(struct device *dev, int ret,
25012509
goto fail;
25022510

25032511
brcmf_pcie_select_core(devinfo, BCMA_CORE_PCIE2);
2504-
ret = brcmf_pcie_request_irq(devinfo);
2505-
if (ret)
2506-
goto fail;
25072512

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

0 commit comments

Comments
 (0)