Skip to content

Commit 07f4443

Browse files
Michael Chankuba-moo
authored andcommitted
bnxt_en: Delay for 5 seconds after AER DPC for all chips
The FW on all chips is requiring a 5-second delay after Downstream Port Containment (DPC) AER. The previously added 900 msec delay was not long enough in all cases because the chip's CRS (Configuration Request Retry Status) mechanism is not always reliable. Fixes: d5ab32e ("bnxt_en: Add delay to handle Downstream Port Containment (DPC) AER") Reviewed-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com> Signed-off-by: Michael Chan <michael.chan@broadcom.com> Signed-off-by: Pavan Chebbi <pavan.chebbi@broadcom.com> Link: https://patch.msgid.link/20260504083611.1383776-2-pavan.chebbi@broadcom.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
1 parent 5ad509c commit 07f4443

1 file changed

Lines changed: 8 additions & 3 deletions

File tree

  • drivers/net/ethernet/broadcom/bnxt

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

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17360,9 +17360,14 @@ static pci_ers_result_t bnxt_io_slot_reset(struct pci_dev *pdev)
1736017360

1736117361
netdev_info(bp->dev, "PCI Slot Reset\n");
1736217362

17363-
if (!(bp->flags & BNXT_FLAG_CHIP_P5_PLUS) &&
17364-
test_bit(BNXT_STATE_PCI_CHANNEL_IO_FROZEN, &bp->state))
17365-
msleep(900);
17363+
if (test_bit(BNXT_STATE_PCI_CHANNEL_IO_FROZEN, &bp->state)) {
17364+
/* After DPC, the chip should return CRS when the vendor ID
17365+
* config register is read until it is ready. On all chips,
17366+
* this is not happening reliably so add a 5-second delay as a
17367+
* workaround.
17368+
*/
17369+
msleep(5000);
17370+
}
1736617371

1736717372
netdev_lock(netdev);
1736817373

0 commit comments

Comments
 (0)