From: Tim Harvey <tharvey@gateworks.com>
Date: Mon, 28 Feb 2022 22:53:21 +0000 (-0800)
Subject: phy: nop-phy: Fix phy reset if no reset-gpio defined
X-Git-Tag: v2025.01-rc5-pxa1908~1518^2
X-Git-Url: http://git.dujemihanovic.xyz/img/%22http:/www.sics.se/static/static/gitweb.css?a=commitdiff_plain;h=a41b88ec02ea1dbf4e5e6e895625a5fee96097c5;p=u-boot.git

phy: nop-phy: Fix phy reset if no reset-gpio defined

Ensure there is a valid reset-gpio defined before using it.

Fixes: f9852acdce02 ("phy: nop-phy: Fix enabling reset")
Cc: Adam Ford <aford173@gmail.com>
Signed-off-by: Tim Harvey <tharvey@gateworks.com>
---

diff --git a/drivers/phy/nop-phy.c b/drivers/phy/nop-phy.c
index e2ee6e9206..d0904f4f07 100644
--- a/drivers/phy/nop-phy.c
+++ b/drivers/phy/nop-phy.c
@@ -45,11 +45,13 @@ static int nop_phy_init(struct phy *phy)
 
 #if CONFIG_IS_ENABLED(DM_GPIO)
 	/* Take phy out of reset */
-	ret = dm_gpio_set_value(&priv->reset_gpio, false);
-	if (ret) {
-		if (CONFIG_IS_ENABLED(CLK))
-			clk_disable_bulk(&priv->bulk);
-		return ret;
+	if (dm_gpio_is_valid(&priv->reset_gpio)) {
+		ret = dm_gpio_set_value(&priv->reset_gpio, false);
+		if (ret) {
+			if (CONFIG_IS_ENABLED(CLK))
+				clk_disable_bulk(&priv->bulk);
+			return ret;
+		}
 	}
 #endif
 	return 0;