[PATCH 4.4 078/101] be2net: fix status check in be_cmd_pmac_add()

From: Greg Kroah-Hartman
Date: Mon Jul 03 2017 - 10:58:16 EST


4.4-stable review patch. If anyone has any objections, please let me know.

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

From: Ivan Vecera <cera@xxxxxxx>


[ Upstream commit fe68d8bfe59c561664aa87d827aa4b320eb08895 ]

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: Sasha Levin <alexander.levin@xxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
---
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
@@ -1052,7 +1052,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;