bnx2x: Prevent false warning when accessing MACs
authorYuval Mintz <Yuval.Mintz@qlogic.com>
Thu, 25 Jun 2015 12:19:23 +0000 (15:19 +0300)
committerDavid S. Miller <davem@davemloft.net>
Thu, 25 Jun 2015 13:30:34 +0000 (06:30 -0700)
Each time a flow finishes reads from the classification shadow
configuration in the driver, that flow would check for pending commands
and pass them to FW if possible.
In case there's already a completion pending command, I.e., a ramrod
that has been sent to the FW and is yet to be completed while said flow
tries to configure the pending command we would get a false error message
in logs [and panic if SOE was used for driver compilation] since the
command could not have been completed.

This prevents said print [and panic]; The pending command will be sent by
the time the completion of the current sent command would arrive.

Signed-off-by: Yuval Mintz <Yuval.Mintz@qlogic.com>
Signed-off-by: Ariel Elior <Ariel.Elior@qlogic.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/broadcom/bnx2x/bnx2x_sp.c

index 07cdf9bbffef2ee85ff3d589f33c1a10aea405d5..4ad415ac8cfe4a56ffd00858d1f70d9f1ab01456 100644 (file)
@@ -424,7 +424,7 @@ static void __bnx2x_vlan_mac_h_exec_pending(struct bnx2x *bp,
        o->head_exe_request = false;
        o->saved_ramrod_flags = 0;
        rc = bnx2x_exe_queue_step(bp, &o->exe_queue, &ramrod_flags);
-       if (rc != 0) {
+       if ((rc != 0) && (rc != 1)) {
                BNX2X_ERR("execution of pending commands failed with rc %d\n",
                          rc);
 #ifdef BNX2X_STOP_ON_ERROR