Skip to content

Commit c2b3ef1

Browse files
committed
bnxt_en: Reserve rings after PCIe AER recovery if NIC interface is down
JIRA: https://issues.redhat.com/browse/RHEL-54644 commit 5311598 Author: Saravanan Vajravel <saravanan.vajravel@broadcom.com> Date: Fri Nov 22 14:45:41 2024 -0800 bnxt_en: Reserve rings after PCIe AER recovery if NIC interface is down After successful PCIe AER recovery, FW will reset all resource reservations. If it is IF_UP, the driver will call bnxt_open() and all resources will be reserved again. It it is IF_DOWN, we should call bnxt_reserve_rings() so that we can reserve resources including RoCE resources to allow RoCE to resume after AER. Without this patch, RoCE fails to resume in this IF_DOWN scenario. Later, if it becomes IF_UP, bnxt_open() will see that resources have been reserved and will not reserve again. Fixes: fb1e6e5 ("bnxt_en: Fix AER recovery.") Reviewed-by: Somnath Kotur <somnath.kotur@broadcom.com> Reviewed-by: Pavan Chebbi <pavan.chebbi@broadcom.com> Reviewed-by: Kashyap Desai <kashyap.desai@broadcom.com> Signed-off-by: Saravanan Vajravel <saravanan.vajravel@broadcom.com> Signed-off-by: Michael Chan <michael.chan@broadcom.com> Signed-off-by: Paolo Abeni <pabeni@redhat.com> Signed-off-by: Michal Schmidt <mschmidt@redhat.com>
1 parent 13171bc commit c2b3ef1

File tree

1 file changed

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

1 file changed

+6
-2
lines changed

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

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16232,8 +16232,12 @@ static void bnxt_io_resume(struct pci_dev *pdev)
1623216232
rtnl_lock();
1623316233

1623416234
err = bnxt_hwrm_func_qcaps(bp);
16235-
if (!err && netif_running(netdev))
16236-
err = bnxt_open(netdev);
16235+
if (!err) {
16236+
if (netif_running(netdev))
16237+
err = bnxt_open(netdev);
16238+
else
16239+
err = bnxt_reserve_rings(bp, true);
16240+
}
1623716241

1623816242
if (!err)
1623916243
netif_device_attach(netdev);

0 commit comments

Comments
 (0)