Re: [PATCH v2 1/2] usb: ulpi: defer ulpi_register on ulpi_read_id timeout

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



+ Stephen Boyd

On 10-11-2022 22:11, Ferry Toth wrote:
Since commit 0f010171
Dual Role support on Intel Merrifield platform broke due to rearranging
the call to dwc3_get_extcon().

It appears to be caused by ulpi_read_id() on the first test write failing
with -ETIMEDOUT. Currently ulpi_read_id() expects to discover the phy via
DT when the test write fails and returns 0 in that case even if DT does not
provide the phy. As a result usb probe completes without phy.

Signed-off-by: Ferry Toth <ftoth@xxxxxxxxxxxxxx>
---
  drivers/usb/common/ulpi.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/usb/common/ulpi.c b/drivers/usb/common/ulpi.c
index d7c8461976ce..60e8174686a1 100644
--- a/drivers/usb/common/ulpi.c
+++ b/drivers/usb/common/ulpi.c
@@ -207,7 +207,7 @@ static int ulpi_read_id(struct ulpi *ulpi)
  	/* Test the interface */
  	ret = ulpi_write(ulpi, ULPI_SCRATCH, 0xaa);
  	if (ret < 0)
-		goto err;
+		return ret;
ret = ulpi_read(ulpi, ULPI_SCRATCH);
  	if (ret < 0)

Would this affect others phys (like qcom HSIC)? I'm not sure if failing the test write is a normal behavior.



[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux