Commit eefd00a5 authored by Jian Shen's avatar Jian Shen Committed by David S. Miller

net: hns3: fix return value error of hclge_get_mac_vlan_cmd_status()

Error code -EIO was used to indicate mutilple errors in function
hclge_get_mac_vlan_cmd_status().This patch fixes it by using
error code depending on the error type.

For no space error, return -ENOSPC.
For entry not found, return -ENOENT.
For command send fail, return -EIO.
For invalid op code, return -EINVAL.

Fixes: 46a3df9f ("net: hns3: Add HNS3 Acceleration Engine & Compatibility Layer Support")
Signed-off-by: default avatarJian Shen <shenjian15@huawei.com>
Signed-off-by: default avatarPeng Li <lipeng321@huawei.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent aa7a795e
...@@ -3779,11 +3779,11 @@ static int hclge_get_mac_vlan_cmd_status(struct hclge_vport *vport, ...@@ -3779,11 +3779,11 @@ static int hclge_get_mac_vlan_cmd_status(struct hclge_vport *vport,
if ((!resp_code) || (resp_code == 1)) { if ((!resp_code) || (resp_code == 1)) {
return_status = 0; return_status = 0;
} else if (resp_code == 2) { } else if (resp_code == 2) {
return_status = -EIO; return_status = -ENOSPC;
dev_err(&hdev->pdev->dev, dev_err(&hdev->pdev->dev,
"add mac addr failed for uc_overflow.\n"); "add mac addr failed for uc_overflow.\n");
} else if (resp_code == 3) { } else if (resp_code == 3) {
return_status = -EIO; return_status = -ENOSPC;
dev_err(&hdev->pdev->dev, dev_err(&hdev->pdev->dev,
"add mac addr failed for mc_overflow.\n"); "add mac addr failed for mc_overflow.\n");
} else { } else {
...@@ -3795,7 +3795,7 @@ static int hclge_get_mac_vlan_cmd_status(struct hclge_vport *vport, ...@@ -3795,7 +3795,7 @@ static int hclge_get_mac_vlan_cmd_status(struct hclge_vport *vport,
if (!resp_code) { if (!resp_code) {
return_status = 0; return_status = 0;
} else if (resp_code == 1) { } else if (resp_code == 1) {
return_status = -EIO; return_status = -ENOENT;
dev_dbg(&hdev->pdev->dev, dev_dbg(&hdev->pdev->dev,
"remove mac addr failed for miss.\n"); "remove mac addr failed for miss.\n");
} else { } else {
...@@ -3807,7 +3807,7 @@ static int hclge_get_mac_vlan_cmd_status(struct hclge_vport *vport, ...@@ -3807,7 +3807,7 @@ static int hclge_get_mac_vlan_cmd_status(struct hclge_vport *vport,
if (!resp_code) { if (!resp_code) {
return_status = 0; return_status = 0;
} else if (resp_code == 1) { } else if (resp_code == 1) {
return_status = -EIO; return_status = -ENOENT;
dev_dbg(&hdev->pdev->dev, dev_dbg(&hdev->pdev->dev,
"lookup mac addr failed for miss.\n"); "lookup mac addr failed for miss.\n");
} else { } else {
...@@ -3816,7 +3816,7 @@ static int hclge_get_mac_vlan_cmd_status(struct hclge_vport *vport, ...@@ -3816,7 +3816,7 @@ static int hclge_get_mac_vlan_cmd_status(struct hclge_vport *vport,
resp_code); resp_code);
} }
} else { } else {
return_status = -EIO; return_status = -EINVAL;
dev_err(&hdev->pdev->dev, dev_err(&hdev->pdev->dev,
"unknown opcode for get_mac_vlan_cmd_status,opcode=%d.\n", "unknown opcode for get_mac_vlan_cmd_status,opcode=%d.\n",
op); op);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment