be2net: check for INSUFFICIENT_PRIVILEGES error
authorSuresh Reddy <suresh.reddy@broadcom.com>
Wed, 3 Feb 2016 04:19:17 +0000 (09:49 +0530)
committerDavid S. Miller <davem@davemloft.net>
Sun, 7 Feb 2016 18:55:22 +0000 (13:55 -0500)
The driver currently logs the message "VF is not privileged to issue
opcode" by checking only the base_status field for UNAUTHORIZED_REQUEST.
Add check to look for INSUFFICIENT_PRIVILEGES in the additional status
field also as not all cmds fail with that base status.

Signed-off-by: Suresh Reddy <suresh.reddy@broadcom.com>
Signed-off-by: Sriharsha Basavapatna <sriharsha.basavapatna@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/emulex/benet/be_cmds.c
drivers/net/ethernet/emulex/benet/be_cmds.h

index b63d8ad..3b665f1 100644 (file)
@@ -236,7 +236,8 @@ static int be_mcc_compl_process(struct be_adapter *adapter,
 
        if (base_status != MCC_STATUS_SUCCESS &&
            !be_skip_err_log(opcode, base_status, addl_status)) {
-               if (base_status == MCC_STATUS_UNAUTHORIZED_REQUEST) {
+               if (base_status == MCC_STATUS_UNAUTHORIZED_REQUEST ||
+                   addl_status == MCC_ADDL_STATUS_INSUFFICIENT_PRIVILEGES) {
                        dev_warn(&adapter->pdev->dev,
                                 "VF is not privileged to issue opcode %d-%d\n",
                                 opcode, subsystem);
index 241819b..f260ef3 100644 (file)
@@ -68,7 +68,8 @@ enum mcc_addl_status {
        MCC_ADDL_STATUS_TOO_MANY_INTERFACES = 0x4a,
        MCC_ADDL_STATUS_INSUFFICIENT_VLANS = 0xab,
        MCC_ADDL_STATUS_INVALID_SIGNATURE = 0x56,
-       MCC_ADDL_STATUS_MISSING_SIGNATURE = 0x57
+       MCC_ADDL_STATUS_MISSING_SIGNATURE = 0x57,
+       MCC_ADDL_STATUS_INSUFFICIENT_PRIVILEGES = 0x60
 };
 
 #define CQE_BASE_STATUS_MASK           0xFFFF