Skip to content

Commit c9044e3

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 41c1947 commit c9044e3

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

2487+
/* Newer firmwares will signal firmware boot via MSI, so make sure we
2488+
* initialize that upfront.
2489+
*/
2490+
brcmf_pcie_select_core(devinfo, BCMA_CORE_PCIE2);
2491+
ret = brcmf_pcie_request_irq(devinfo);
2492+
if (ret)
2493+
goto fail;
2494+
24872495
ret = brcmf_pcie_download_fw_nvram(devinfo, fw, fwsig, nvram, nvram_len);
24882496
if (ret)
24892497
goto fail;
@@ -2499,9 +2507,6 @@ static void brcmf_pcie_setup(struct device *dev, int ret,
24992507
goto fail;
25002508

25012509
brcmf_pcie_select_core(devinfo, BCMA_CORE_PCIE2);
2502-
ret = brcmf_pcie_request_irq(devinfo);
2503-
if (ret)
2504-
goto fail;
25052510

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

0 commit comments

Comments
 (0)