[PATCH] phy: rockchip-inno-usb2: Return zero after otg sync

Peter Geis pgwipeout at gmail.com
Mon Aug 22 03:32:18 PDT 2022


The otg sync state patch reuses the ret variable, but fails to set it to
zero after use. This leads to a situation when the otg port is in
peripheral mode where the otg phy aborts halfway through setup. Fix this
by setting ret to zero after use.

Fixes: 8dc60f8da22f ("phy: rockchip-inno-usb2: Sync initial otg state")

Reported-by: Markus Reichl <m.reichl at fivetechno.de>
Reported-by: Michael Riesch <michael.riesch at wolfvision.net>
Signed-off-by: Peter Geis <pgwipeout at gmail.com>
Tested-by: Michael Riesch <michael.riesch at wolfvision.net>
Tested-by: Markus Reichl <m.reichl at fivetechno.de>
---
 drivers/phy/rockchip/phy-rockchip-inno-usb2.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/phy/rockchip/phy-rockchip-inno-usb2.c b/drivers/phy/rockchip/phy-rockchip-inno-usb2.c
index 0b1e9337ee8e..5fc7c374a6b4 100644
--- a/drivers/phy/rockchip/phy-rockchip-inno-usb2.c
+++ b/drivers/phy/rockchip/phy-rockchip-inno-usb2.c
@@ -1169,6 +1169,7 @@ static int rockchip_usb2phy_otg_port_init(struct rockchip_usb2phy *rphy,
 			/* do initial sync of usb state */
 			ret = property_enabled(rphy->grf, &rport->port_cfg->utmi_id);
 			extcon_set_state_sync(rphy->edev, EXTCON_USB_HOST, !ret);
+			ret = 0;
 		}
 	}
 
-- 
2.25.1




More information about the Linux-rockchip mailing list