diff --git a/drivers/net/ethernet/nvidia/nvethernet/ether_linux.c b/drivers/net/ethernet/nvidia/nvethernet/ether_linux.c index 3092bb7a..346cb724 100644 --- a/drivers/net/ethernet/nvidia/nvethernet/ether_linux.c +++ b/drivers/net/ethernet/nvidia/nvethernet/ether_linux.c @@ -3030,15 +3030,15 @@ static int ether_close(struct net_device *ndev) reset_control_assert(pdata->xpcs_rst); } + /* All MDIO interfaces must be disabled before resetting the MAC */ + if (pdata->mii) + mdiobus_unregister(pdata->mii); + /* Assert MAC RST gpio */ if (pdata->mac_rst) { reset_control_assert(pdata->mac_rst); } - if (pdata->mii != NULL) { - mdiobus_unregister(pdata->mii); - } - /* Disable clock */ ether_disable_clks(pdata);