diff mbox series

usb: dwc3: Fix non-usb3 configurations

Message ID c5a71c30-e55d-c8ab-d372-e5aaa859cf2a@siemens.com
State Accepted
Commit 868d58f69c7ceda5c886293cf15f4e39493517a2
Delegated to: Marek Vasut
Headers show
Series usb: dwc3: Fix non-usb3 configurations | expand

Commit Message

Jan Kiszka April 25, 2022, 11:26 a.m. UTC
From: Jan Kiszka <jan.kiszka@siemens.com>

Missing nodes may also be signaled via -ENODATA. We need to check for
that to prevent failing in non-usb3 setups.

Furthermore, dev.phy must be NULL'ed in case usb3-phy was not found.

Fixes: 142d50fbce7c ("usb: dwc3: Add support for usb3-phy PHY configuration")
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
---
 drivers/usb/dwc3/dwc3-generic.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

Comments

Michal Simek April 25, 2022, 11:29 a.m. UTC | #1
On 4/25/22 13:26, Jan Kiszka wrote:
> From: Jan Kiszka <jan.kiszka@siemens.com>
> 
> Missing nodes may also be signaled via -ENODATA. We need to check for
> that to prevent failing in non-usb3 setups.
> 
> Furthermore, dev.phy must be NULL'ed in case usb3-phy was not found.
> 
> Fixes: 142d50fbce7c ("usb: dwc3: Add support for usb3-phy PHY configuration")
> Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
> ---
>   drivers/usb/dwc3/dwc3-generic.c | 4 +++-
>   1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/usb/dwc3/dwc3-generic.c b/drivers/usb/dwc3/dwc3-generic.c
> index 6e1a1d066b4..c5310e465cb 100644
> --- a/drivers/usb/dwc3/dwc3-generic.c
> +++ b/drivers/usb/dwc3/dwc3-generic.c
> @@ -468,9 +468,11 @@ static int dwc3_glue_probe(struct udevice *dev)
>   		ret = generic_phy_init(&phy);
>   		if (ret)
>   			return ret;
> -	} else if (ret != -ENOENT) {
> +	} else if (ret != -ENOENT && ret != -ENODATA) {
>   		debug("could not get phy (err %d)\n", ret);
>   		return ret;
> +	} else {
> +		phy.dev = NULL;
>   	}
>   
>   	glue->regs = dev_read_addr(dev);

Reviewed-by: Michal Simek <michal.simek@amd.com>

Thanks,
Michal
diff mbox series

Patch

diff --git a/drivers/usb/dwc3/dwc3-generic.c b/drivers/usb/dwc3/dwc3-generic.c
index 6e1a1d066b4..c5310e465cb 100644
--- a/drivers/usb/dwc3/dwc3-generic.c
+++ b/drivers/usb/dwc3/dwc3-generic.c
@@ -468,9 +468,11 @@  static int dwc3_glue_probe(struct udevice *dev)
 		ret = generic_phy_init(&phy);
 		if (ret)
 			return ret;
-	} else if (ret != -ENOENT) {
+	} else if (ret != -ENOENT && ret != -ENODATA) {
 		debug("could not get phy (err %d)\n", ret);
 		return ret;
+	} else {
+		phy.dev = NULL;
 	}
 
 	glue->regs = dev_read_addr(dev);