Patch "bnxt_en: Fix queue start to update vnic RSS table" has been added to the 6.12-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    bnxt_en: Fix queue start to update vnic RSS table

to the 6.12-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     bnxt_en-fix-queue-start-to-update-vnic-rss-table.patch
and it can be found in the queue-6.12 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit 099585adf8c13fae85fd9db0fb395294fc4290f3
Author: Somnath Kotur <somnath.kotur@xxxxxxxxxxxx>
Date:   Fri Nov 22 14:45:43 2024 -0800

    bnxt_en: Fix queue start to update vnic RSS table
    
    [ Upstream commit 5ac066b7b062ee753a14557ea11bdc62364c8090 ]
    
    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: 2d694c27d32e ("bnxt_en: implement netdev_queue_mgmt_ops")
    Cc: David Wei <dw@xxxxxxxxxxx>
    Reviewed-by: Kalesh AP <kalesh-anakkur.purayil@xxxxxxxxxxxx>
    Reviewed-by: Andy Gospodarek <andrew.gospodarek@xxxxxxxxxxxx>
    Signed-off-by: Somnath Kotur <somnath.kotur@xxxxxxxxxxxx>
    Signed-off-by: Michael Chan <michael.chan@xxxxxxxxxxxx>
    Signed-off-by: Paolo Abeni <pabeni@xxxxxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt.c b/drivers/net/ethernet/broadcom/bnxt/bnxt.c
index 20a8cb26bc0a6..908ce838eedbb 100644
--- a/drivers/net/ethernet/broadcom/bnxt/bnxt.c
+++ b/drivers/net/ethernet/broadcom/bnxt/bnxt.c
@@ -15231,6 +15231,13 @@ static int bnxt_queue_start(struct net_device *dev, void *qmem, int idx)
 
 	for (i = 0; i <= BNXT_VNIC_NTUPLE; i++) {
 		vnic = &bp->vnic_info[i];
+
+		rc = bnxt_hwrm_vnic_set_rss_p5(bp, vnic, true);
+		if (rc) {
+			netdev_err(bp->dev, "hwrm vnic %d set rss failure rc: %d\n",
+				   vnic->vnic_id, rc);
+			return rc;
+		}
 		vnic->mru = bp->dev->mtu + ETH_HLEN + VLAN_HLEN;
 		bnxt_hwrm_vnic_update(bp, vnic,
 				      VNIC_UPDATE_REQ_ENABLES_MRU_VALID);




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux