diff options
author | Jian Shen <shenjian15@huawei.com> | 2018-03-10 04:29:33 +0100 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2018-03-12 03:53:32 +0100 |
commit | 2097fdefa5c2c22c3165b3c9020ddb8ed610c371 (patch) | |
tree | 15b22367da9cc2e41ad993da0ee4d6d221806aa5 /drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_mbx.c | |
parent | net: hns3: add existence checking before adding unicast mac address (diff) | |
download | linux-2097fdefa5c2c22c3165b3c9020ddb8ed610c371.tar.xz linux-2097fdefa5c2c22c3165b3c9020ddb8ed610c371.zip |
net: hns3: add result checking for VF when modify unicast mac address
VF changes unicast mac address by sending mailbox msg to PF, then PF
completes the mac address modification. It may fail when the target
uc mac address is already in the mac_vlan table. VF should be aware
of it by reading the message result.
Signed-off-by: Jian Shen <shenjian15@huawei.com>
Signed-off-by: Peng Li <lipeng321@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_mbx.c')
-rw-r--r-- | drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_mbx.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_mbx.c b/drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_mbx.c index 18283ef4ce81..9768f71f5b18 100644 --- a/drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_mbx.c +++ b/drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_mbx.c @@ -54,6 +54,10 @@ static int hclgevf_get_mbx_resp(struct hclgevf_dev *hdev, u16 code0, u16 code1, mbx_resp = &hdev->mbx_resp; r_code0 = (u16)(mbx_resp->origin_mbx_msg >> 16); r_code1 = (u16)(mbx_resp->origin_mbx_msg & 0xff); + + if (mbx_resp->resp_status) + return mbx_resp->resp_status; + if (resp_data) memcpy(resp_data, &mbx_resp->additional_info[0], resp_len); |