Commit 20decb7e authored by Matthias Brugger's avatar Matthias Brugger Committed by David S. Miller

drivers: net: xgene: Fix error handling

When probe bails out with an error, we try to unregister the
netdev before we have even registered it. Fix the goto statements
for that.
Signed-off-by: default avatarMatthias Brugger <mbrugger@suse.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 7391daf2
...@@ -1595,21 +1595,22 @@ static int xgene_enet_probe(struct platform_device *pdev) ...@@ -1595,21 +1595,22 @@ static int xgene_enet_probe(struct platform_device *pdev)
ret = xgene_enet_init_hw(pdata); ret = xgene_enet_init_hw(pdata);
if (ret) if (ret)
goto err; goto err_netdev;
mac_ops = pdata->mac_ops; mac_ops = pdata->mac_ops;
if (pdata->phy_mode == PHY_INTERFACE_MODE_RGMII) { if (pdata->phy_mode == PHY_INTERFACE_MODE_RGMII) {
ret = xgene_enet_mdio_config(pdata); ret = xgene_enet_mdio_config(pdata);
if (ret) if (ret)
goto err; goto err_netdev;
} else { } else {
INIT_DELAYED_WORK(&pdata->link_work, mac_ops->link_state); INIT_DELAYED_WORK(&pdata->link_work, mac_ops->link_state);
} }
xgene_enet_napi_add(pdata); xgene_enet_napi_add(pdata);
return 0; return 0;
err: err_netdev:
unregister_netdev(ndev); unregister_netdev(ndev);
err:
free_netdev(ndev); free_netdev(ndev);
return ret; return ret;
} }
......
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