Skip to content

Commit 2b9719c

Browse files
luoguangfeigregkh
authored andcommitted
net: macb: fix unregister_netdev call order in macb_remove()
[ Upstream commit 01b9128 ] When removing a macb device, the driver calls phy_exit() before unregister_netdev(). This leads to a WARN from kernfs: ------------[ cut here ]------------ kernfs: can not remove 'attached_dev', no directory WARNING: CPU: 1 PID: 27146 at fs/kernfs/dir.c:1683 Call trace: kernfs_remove_by_name_ns+0xd8/0xf0 sysfs_remove_link+0x24/0x58 phy_detach+0x5c/0x168 phy_disconnect+0x4c/0x70 phylink_disconnect_phy+0x6c/0xc0 [phylink] macb_close+0x6c/0x170 [macb] ... macb_remove+0x60/0x168 [macb] platform_remove+0x5c/0x80 ... The warning happens because the PHY is being exited while the netdev is still registered. The correct order is to unregister the netdev before shutting down the PHY and cleaning up the MDIO bus. Fix this by moving unregister_netdev() ahead of phy_exit() in macb_remove(). Fixes: 8b73fa3 ("net: macb: Added ZynqMP-specific initialization") Signed-off-by: luoguangfei <15388634752@163.com> Link: https://patch.msgid.link/20250818232527.1316-1-15388634752@163.com Signed-off-by: Jakub Kicinski <kuba@kernel.org> [ Minor context change fixed. ] Signed-off-by: Alva Lan <alvalan9@foxmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
1 parent a395121 commit 2b9719c

1 file changed

Lines changed: 1 addition & 1 deletion

File tree

drivers/net/ethernet/cadence/macb_main.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5182,11 +5182,11 @@ static int macb_remove(struct platform_device *pdev)
51825182

51835183
if (dev) {
51845184
bp = netdev_priv(dev);
5185+
unregister_netdev(dev);
51855186
phy_exit(bp->sgmii_phy);
51865187
mdiobus_unregister(bp->mii_bus);
51875188
mdiobus_free(bp->mii_bus);
51885189

5189-
unregister_netdev(dev);
51905190
tasklet_kill(&bp->hresp_err_tasklet);
51915191
pm_runtime_disable(&pdev->dev);
51925192
pm_runtime_dont_use_autosuspend(&pdev->dev);

0 commit comments

Comments
 (0)