Skip to content

Commit e2b18af

Browse files
committed
bnxt_en: Fix queue start to update vnic RSS table
JIRA: https://issues.redhat.com/browse/RHEL-54644 commit 5ac066b Author: Somnath Kotur <somnath.kotur@broadcom.com> Date: Fri Nov 22 14:45:43 2024 -0800 bnxt_en: Fix queue start to update vnic RSS table HWRM_RING_FREE followed by a HWRM_RING_ALLOC is not guaranteed to have the same FW ring ID as before. So we must reinitialize the RSS table with the correct ring IDs. Otherwise, traffic may not resume properly if the restarted ring ID is stale. Since this feature is only supported on P5_PLUS chips, we call bnxt_vnic_set_rss_p5() to update the HW RSS table. Fixes: 2d694c2 ("bnxt_en: implement netdev_queue_mgmt_ops") Cc: David Wei <dw@davidwei.uk> Reviewed-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com> Reviewed-by: Andy Gospodarek <andrew.gospodarek@broadcom.com> Signed-off-by: Somnath Kotur <somnath.kotur@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 bf2fbe4 commit e2b18af

File tree

1 file changed

+7
-0
lines changed
  • drivers/net/ethernet/broadcom/bnxt

1 file changed

+7
-0
lines changed

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

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15231,6 +15231,13 @@ static int bnxt_queue_start(struct net_device *dev, void *qmem, int idx)
1523115231

1523215232
for (i = 0; i <= BNXT_VNIC_NTUPLE; i++) {
1523315233
vnic = &bp->vnic_info[i];
15234+
15235+
rc = bnxt_hwrm_vnic_set_rss_p5(bp, vnic, true);
15236+
if (rc) {
15237+
netdev_err(bp->dev, "hwrm vnic %d set rss failure rc: %d\n",
15238+
vnic->vnic_id, rc);
15239+
return rc;
15240+
}
1523415241
vnic->mru = bp->dev->mtu + ETH_HLEN + VLAN_HLEN;
1523515242
bnxt_hwrm_vnic_update(bp, vnic,
1523615243
VNIC_UPDATE_REQ_ENABLES_MRU_VALID);

0 commit comments

Comments
 (0)