diff options
-rw-r--r-- | drivers/net/ethernet/apm/xgene/xgene_enet_hw.c | 3 | ||||
-rw-r--r-- | drivers/net/ethernet/apm/xgene/xgene_enet_main.c | 5 |
2 files changed, 6 insertions, 2 deletions
diff --git a/drivers/net/ethernet/apm/xgene/xgene_enet_hw.c b/drivers/net/ethernet/apm/xgene/xgene_enet_hw.c index a626c4315a89..cfa37041ab71 100644 --- a/drivers/net/ethernet/apm/xgene/xgene_enet_hw.c +++ b/drivers/net/ethernet/apm/xgene/xgene_enet_hw.c | |||
@@ -801,6 +801,9 @@ int xgene_enet_mdio_config(struct xgene_enet_pdata *pdata) | |||
801 | 801 | ||
802 | void xgene_enet_mdio_remove(struct xgene_enet_pdata *pdata) | 802 | void xgene_enet_mdio_remove(struct xgene_enet_pdata *pdata) |
803 | { | 803 | { |
804 | if (pdata->phy_dev) | ||
805 | phy_disconnect(pdata->phy_dev); | ||
806 | |||
804 | mdiobus_unregister(pdata->mdio_bus); | 807 | mdiobus_unregister(pdata->mdio_bus); |
805 | mdiobus_free(pdata->mdio_bus); | 808 | mdiobus_free(pdata->mdio_bus); |
806 | pdata->mdio_bus = NULL; | 809 | pdata->mdio_bus = NULL; |
diff --git a/drivers/net/ethernet/apm/xgene/xgene_enet_main.c b/drivers/net/ethernet/apm/xgene/xgene_enet_main.c index 299eb4315fe6..a02ea7f8fdae 100644 --- a/drivers/net/ethernet/apm/xgene/xgene_enet_main.c +++ b/drivers/net/ethernet/apm/xgene/xgene_enet_main.c | |||
@@ -1277,9 +1277,10 @@ static int xgene_enet_remove(struct platform_device *pdev) | |||
1277 | mac_ops->tx_disable(pdata); | 1277 | mac_ops->tx_disable(pdata); |
1278 | 1278 | ||
1279 | xgene_enet_napi_del(pdata); | 1279 | xgene_enet_napi_del(pdata); |
1280 | xgene_enet_mdio_remove(pdata); | 1280 | if (pdata->phy_mode == PHY_INTERFACE_MODE_RGMII) |
1281 | xgene_enet_delete_desc_rings(pdata); | 1281 | xgene_enet_mdio_remove(pdata); |
1282 | unregister_netdev(ndev); | 1282 | unregister_netdev(ndev); |
1283 | xgene_enet_delete_desc_rings(pdata); | ||
1283 | pdata->port_ops->shutdown(pdata); | 1284 | pdata->port_ops->shutdown(pdata); |
1284 | free_netdev(ndev); | 1285 | free_netdev(ndev); |
1285 | 1286 | ||