[PATCH 3.16 225/370] be2net: fix status check in be_cmd_pmac_add()

From: Ben Hutchings
Date: Fri Mar 10 2017 - 07:10:36 EST


3.16.42-rc1 review patch. If anyone has any objections, please let me know.

------------------

From: Ivan Vecera <cera@xxxxxxx>

commit fe68d8bfe59c561664aa87d827aa4b320eb08895 upstream.

Return value from be_mcc_notify_wait() contains a base completion status
together with an additional status. The base_status() macro need to be
used to access base status.

Fixes: e3a7ae2 be2net: Changing MAC Address of a VF was broken
Cc: Sathya Perla <sathya.perla@xxxxxxxxxxxx>
Cc: Ajit Khaparde <ajit.khaparde@xxxxxxxxxxxx>
Cc: Sriharsha Basavapatna <sriharsha.basavapatna@xxxxxxxxxxxx>
Cc: Somnath Kotur <somnath.kotur@xxxxxxxxxxxx>
Signed-off-by: Ivan Vecera <cera@xxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
Signed-off-by: Ben Hutchings <ben@xxxxxxxxxxxxxxx>
---
drivers/net/ethernet/emulex/benet/be_cmds.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

--- a/drivers/net/ethernet/emulex/benet/be_cmds.c
+++ b/drivers/net/ethernet/emulex/benet/be_cmds.c
@@ -1008,7 +1008,7 @@ int be_cmd_pmac_add(struct be_adapter *a
err:
spin_unlock_bh(&adapter->mcc_lock);

- if (status == MCC_STATUS_UNAUTHORIZED_REQUEST)
+ if (base_status(status) == MCC_STATUS_UNAUTHORIZED_REQUEST)
status = -EPERM;

return status;