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 <jianjunm@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3165268
(cherry picked from commit bd0a8befee)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3174678
GVS: buildbot_gerritrpt <buildbot_gerritrpt@nvidia.com>
Reviewed-by: Bibek Basu <bbasu@nvidia.com>
Reviewed-by: Revanth Kumar Uppala <ruppala@nvidia.com>
This commit is contained in:
Jason Mei
2024-07-01 09:00:31 +08:00
committed by mobile promotions
parent 3b2ffad838
commit 6fea0b4122

View File

@@ -3363,15 +3363,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);