Commit 18655128 authored by Huazhong Tan's avatar Huazhong Tan Committed by David S. Miller

net: hns3: fix improper error handling for hns3_client_start

If hns3_client_start() failed in the hns3_client_init(),
register_dev() should be undo in its error handling.

Fixes: a6d818e3 ("net: hns3: Add vport alive state checking support")
Signed-off-by: default avatarHuazhong Tan <tanhuazhong@huawei.com>
Signed-off-by: default avatarPeng Li <lipeng321@huawei.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent eb4c2ccb
...@@ -3656,7 +3656,7 @@ static int hns3_client_init(struct hnae3_handle *handle) ...@@ -3656,7 +3656,7 @@ static int hns3_client_init(struct hnae3_handle *handle)
ret = hns3_client_start(handle); ret = hns3_client_start(handle);
if (ret) { if (ret) {
dev_err(priv->dev, "hns3_client_start fail! ret=%d\n", ret); dev_err(priv->dev, "hns3_client_start fail! ret=%d\n", ret);
goto out_reg_netdev_fail; goto out_client_start;
} }
hns3_dcbnl_setup(handle); hns3_dcbnl_setup(handle);
...@@ -3670,6 +3670,8 @@ static int hns3_client_init(struct hnae3_handle *handle) ...@@ -3670,6 +3670,8 @@ static int hns3_client_init(struct hnae3_handle *handle)
return ret; return ret;
out_client_start:
unregister_netdev(netdev);
out_reg_netdev_fail: out_reg_netdev_fail:
hns3_uninit_phy(netdev); hns3_uninit_phy(netdev);
out_init_phy: out_init_phy:
......
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