Skip to content

Commit c36efdb

Browse files
author
Shruti Parab
committed
bnxt_en: call pci_alloc_irq_vectors() after bnxt_reserve_rings()
JIRA: https://issues.redhat.com/browse/RHEL-76565 commit 1ae04e4 Author: Kashyap Desai <kashyap.desai@broadcom.com> Date: Mon Apr 28 15:58:59 2025 -0700 bnxt_en: call pci_alloc_irq_vectors() after bnxt_reserve_rings() On some architectures (e.g. ARM), calling pci_alloc_irq_vectors() will immediately cause the MSIX table to be written. This will not work if we haven't called bnxt_reserve_rings() to properly map the MSIX table to the MSIX vectors reserved by FW. Fix the FW error recovery path to delay the bnxt_init_int_mode() -> pci_alloc_irq_vectors() call by removing it from bnxt_hwrm_if_change(). bnxt_request_irq() later in the code path will call it and by then the MSIX table is properly mapped. Fixes: 4343838 ("bnxt_en: Replace deprecated PCI MSIX APIs") Suggested-by: Michael Chan <michael.chan@broadcom.com> Signed-off-by: Kashyap Desai <kashyap.desai@broadcom.com> Signed-off-by: Michael Chan <michael.chan@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Shruti Parab <shruti.parab@broadcom.com>
1 parent 180acd5 commit c36efdb

File tree

1 file changed

+1
-6
lines changed
  • drivers/net/ethernet/broadcom/bnxt

1 file changed

+1
-6
lines changed

drivers/net/ethernet/broadcom/bnxt/bnxt.c

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12266,13 +12266,8 @@ static int bnxt_hwrm_if_change(struct bnxt *bp, bool up)
1226612266
set_bit(BNXT_STATE_ABORT_ERR, &bp->state);
1226712267
return rc;
1226812268
}
12269+
/* IRQ will be initialized later in bnxt_request_irq()*/
1226912270
bnxt_clear_int_mode(bp);
12270-
rc = bnxt_init_int_mode(bp);
12271-
if (rc) {
12272-
clear_bit(BNXT_STATE_FW_RESET_DET, &bp->state);
12273-
netdev_err(bp->dev, "init int mode failed\n");
12274-
return rc;
12275-
}
1227612271
}
1227712272
rc = bnxt_cancel_reservations(bp, fw_reset);
1227812273
}

0 commit comments

Comments
 (0)