On 4/25/22 13:26, Jan Kiszka wrote:
From: Jan Kiszka <jan.kis...@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.kis...@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.si...@amd.com>

Thanks,
Michal

Reply via email to