bnx2x: Ignore bandwidth attention in single function mode
authorShahed Shaikh <Shahed.Shaikh@cavium.com>
Thu, 20 Sep 2018 18:22:51 +0000 (11:22 -0700)
committerDavid S. Miller <davem@davemloft.net>
Fri, 21 Sep 2018 16:14:21 +0000 (09:14 -0700)
This is a workaround for FW bug -
MFW generates bandwidth attention in single function mode, which
is only expected to be generated in multi function mode.
This undesired attention in SF mode results in incorrect HW
configuration and resulting into Tx timeout.

Signed-off-by: Shahed Shaikh <Shahed.Shaikh@cavium.com>
Signed-off-by: Ariel Elior <ariel.elior@cavium.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c

index faf64ba52e875fa42eaf7c246c98d34e7b07a358..16f64c68193d2275e11002f82c3a02d18c02f918 100644 (file)
@@ -3536,6 +3536,16 @@ static void bnx2x_drv_info_iscsi_stat(struct bnx2x *bp)
  */
 static void bnx2x_config_mf_bw(struct bnx2x *bp)
 {
+       /* Workaround for MFW bug.
+        * MFW is not supposed to generate BW attention in
+        * single function mode.
+        */
+       if (!IS_MF(bp)) {
+               DP(BNX2X_MSG_MCP,
+                  "Ignoring MF BW config in single function mode\n");
+               return;
+       }
+
        if (bp->link_vars.link_up) {
                bnx2x_cmng_fns_init(bp, true, CMNG_FNS_MINMAX);
                bnx2x_link_sync_notify(bp);