summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaxime Chevallier <maxime.chevallier@bootlin.com>2026-06-04 11:28:16 +0200
committerJakub Kicinski <kuba@kernel.org>2026-06-08 17:43:27 -0700
commitb1e780bb37c641d8291c51d7b4bde33450d18fb4 (patch)
tree0149de970ea9c28269d73273c8a65c41a71a0290
parent48774e87bbaa0056819d4b52301e4692e50e3252 (diff)
downloadlinux-stable-b1e780bb37c641d8291c51d7b4bde33450d18fb4.tar.gz
linux-stable-b1e780bb37c641d8291c51d7b4bde33450d18fb4.zip
net: phy: remove phy ports upon probe failure
When phy_probe fails, let's clean the phy_ports that were successfully added already. Suggested-by: Nicolai Buchwitz <nb@tipi-net.de> Reviewed-by: Nicolai Buchwitz <nb@tipi-net.de> Fixes: 589e934d2735 ("net: phy: Introduce PHY ports representation") Signed-off-by: Maxime Chevallier <maxime.chevallier@bootlin.com> Link: https://patch.msgid.link/20260604092819.723505-3-maxime.chevallier@bootlin.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
-rw-r--r--drivers/net/phy/phy_device.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/net/phy/phy_device.c b/drivers/net/phy/phy_device.c
index 6ccbfacf7d1d..4ba880446896 100644
--- a/drivers/net/phy/phy_device.c
+++ b/drivers/net/phy/phy_device.c
@@ -3781,6 +3781,8 @@ out:
sfp_bus_del_upstream(phydev->sfp_bus);
phydev->sfp_bus = NULL;
+ phy_cleanup_ports(phydev);
+
if (!phydev->is_on_sfp_module)
phy_led_triggers_unregister(phydev);