From bd0a8befee6b9c9d99f41c84dcae1d574943a90a Mon Sep 17 00:00:00 2001 From: Jason Mei Date: Mon, 1 Jul 2024 09:00:31 +0800 Subject: [PATCH] nvethernet:Fix cbb error when ifconfig down Issue: CBB bus error when running ifconfig down on the nvethernet interface. Fix: All MDIO interfaces must be disabled before resetting the MAC. The MDIO was accessed by the MAC. Bug 4714627 Change-Id: Ib75cfae70b13093cc574cd0cd07334cc03468ad7 Signed-off-by: Jason Mei Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3165268 Tested-by: Revanth Kumar Uppala Reviewed-by: svcacv Reviewed-by: Revanth Kumar Uppala GVS: buildbot_gerritrpt --- drivers/net/ethernet/nvidia/nvethernet/ether_linux.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) 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);