[PATCH net 03/11] net: au1000: disconnect the PHY before freeing the MDIO bus
From: Florian Fainelli
Date: Tue Oct 27 2026 - 18:38:03 EST
Balance phy_connect() on probe failure and removal. Otherwise PHY
interrupts, device references and the attachment to the freed netdev
survive teardown. Disconnect before unregistering the bus while its MDIO
callbacks and MAC registers remain usable.
Fixes: 0638dec01e89 ("[PATCH] net: au1000_eth: PHY framework conversion")
Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx>
---
drivers/net/ethernet/amd/au1000_eth.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/drivers/net/ethernet/amd/au1000_eth.c b/drivers/net/ethernet/amd/au1000_eth.c
index 58bc8e1b539d..70319b432182 100644
--- a/drivers/net/ethernet/amd/au1000_eth.c
+++ b/drivers/net/ethernet/amd/au1000_eth.c
@@ -1287,6 +1287,8 @@ static int au1000_probe(struct platform_device *pdev)
return 0;
err_out:
+ if (dev->phydev)
+ phy_disconnect(dev->phydev);
if (aup->mii_bus)
mdiobus_unregister(aup->mii_bus);
@@ -1334,6 +1336,8 @@ static void au1000_remove(struct platform_device *pdev)
struct resource *base, *macen;
unregister_netdev(dev);
+ if (dev->phydev)
+ phy_disconnect(dev->phydev);
mdiobus_unregister(aup->mii_bus);
mdiobus_free(aup->mii_bus);
--
2.53.0