bnx2x: Disable multi-cos feature. [Linux 4.9.189]

This Linux kernel change "bnx2x: Disable multi-cos feature" is included in the Linux 4.9.189 release. This change is authored by Sudarsana Reddy Kalluru <skalluru [at] marvell.com> on Tue Jul 23 19:32:41 2019 -0700. The commit for this change in Linux stable tree is 7c46532 (patch) which is from upstream commit d1f0b5d. The same Linux upstream change may have been applied to various maintained Linux releases and you can find all Linux releases containing changes from upstream d1f0b5d.

bnx2x: Disable multi-cos feature.

[ Upstream commit d1f0b5dce8fda09a7f5f04c1878f181d548e42f5 ]

Commit 3968d38917eb ("bnx2x: Fix Multi-Cos.") which enabled multi-cos
feature after prolonged time in driver added some regression causing
numerous issues (sudden reboots, tx timeout etc.) reported by customers.
We plan to backout this commit and submit proper fix once we have root
cause of issues reported with this feature enabled.

Fixes: 3968d38917eb ("bnx2x: Fix Multi-Cos.")
Signed-off-by: Sudarsana Reddy Kalluru <[email protected]>
Signed-off-by: Manish Chopra <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>

There are 2 lines of Linux source code added/deleted in this change. Code changes to Linux kernel are as follows.

 drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c
index 6167bb0..53a7116 100644
--- a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c
+++ b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c
@@ -1939,7 +1939,7 @@ u16 bnx2x_select_queue(struct net_device *dev, struct sk_buff *skb,
    }

    /* select a non-FCoE queue */
-   return fallback(dev, skb) % (BNX2X_NUM_ETH_QUEUES(bp) * bp->max_cos);
+   return fallback(dev, skb) % (BNX2X_NUM_ETH_QUEUES(bp));
 }

 void bnx2x_set_num_queues(struct bnx2x *bp)

Leave a Reply

Your email address will not be published. Required fields are marked *