[PATCH] phy: Reset init count on phy exit failure

Marek Vasut marek.vasut at mailbox.org
Sun Sep 7 01:00:44 CEST 2025


In case the PHY exit callback reports failure, reset init_count to 0 anyway,
so the next attempt at PHY initialization might try to reinitialize the PHY
and restore it to normal operation.

Signed-off-by: Marek Vasut <marek.vasut at mailbox.org>
---
Cc: Mattijs Korpershoek <mkorpershoek at kernel.org>
Cc: Roger Quadros <rogerq at kernel.org>
Cc: Siddharth Vadapalli <s-vadapalli at ti.com>
Cc: Tom Rini <trini at konsulko.com>
Cc: u-boot at lists.denx.de
---
 drivers/phy/phy-uclass.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/drivers/phy/phy-uclass.c b/drivers/phy/phy-uclass.c
index 714be123856..f8d4fb3b41b 100644
--- a/drivers/phy/phy-uclass.c
+++ b/drivers/phy/phy-uclass.c
@@ -274,7 +274,7 @@ int generic_phy_exit(struct phy *phy)
 {
 	struct phy_counts *counts;
 	struct phy_ops const *ops;
-	int ret;
+	int ret = 0;
 
 	if (!generic_phy_valid(phy))
 		return 0;
@@ -292,12 +292,11 @@ int generic_phy_exit(struct phy *phy)
 		if (ret) {
 			dev_err(phy->dev, "PHY: Failed to exit %s: %d.\n",
 				phy->dev->name, ret);
-			return ret;
 		}
 	}
 	counts->init_count = 0;
 
-	return 0;
+	return ret;
 }
 
 int generic_phy_power_on(struct phy *phy)
-- 
2.50.1



More information about the U-Boot mailing list