Skip to content

Commit 16b0902

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 91eb196 commit 16b0902

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

2480+
/* Newer firmwares will signal firmware boot via MSI, so make sure we
2481+
* initialize that upfront.
2482+
*/
2483+
brcmf_pcie_select_core(devinfo, BCMA_CORE_PCIE2);
2484+
ret = brcmf_pcie_request_irq(devinfo);
2485+
if (ret)
2486+
goto fail;
2487+
24802488
ret = brcmf_pcie_download_fw_nvram(devinfo, fw, fwsig, nvram, nvram_len);
24812489
if (ret)
24822490
goto fail;
@@ -2492,9 +2500,6 @@ static void brcmf_pcie_setup(struct device *dev, int ret,
24922500
goto fail;
24932501

24942502
brcmf_pcie_select_core(devinfo, BCMA_CORE_PCIE2);
2495-
ret = brcmf_pcie_request_irq(devinfo);
2496-
if (ret)
2497-
goto fail;
24982503

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

0 commit comments

Comments
 (0)