On 13/12/2018 4.17, Tony Lindgren wrote: > The only case where we can bail out safely without a phy is port_mode > is OMAP_USBHS_PORT_MODE_UNUSED. It used to be that OMAP_EHCI_PORT_MODE_PHY > was optional, but that's not a good assumption. We should already have > "ehci-phy" in all the dts files using OMAP_EHCI_PORT_MODE_PHY. > > Note that this fix should not be needed for kernels earlier than v4.19 > as that's when we started moving devices to probe with ti-sysc. We now > probe l4 interconnects separately, which can cause deferred probe with > the phy being on a separate l4 interconnect from EHCI. > > And old kernels would need to be checked for "ehci-phy" property for > this fix to avoid regressions. Tested-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> > Cc: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> > Cc: Johan Hovold <johan@xxxxxxxxxx> > Cc: Ladislav Michl <ladis@xxxxxxxxxxxxxx> > Cc: Peter Ujfalusi <peter.ujfalusi@xxxxxx> > Cc: Roger Quadros <rogerq@xxxxxx> > Reported-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> > Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> > --- > drivers/usb/host/ehci-omap.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/usb/host/ehci-omap.c b/drivers/usb/host/ehci-omap.c > --- a/drivers/usb/host/ehci-omap.c > +++ b/drivers/usb/host/ehci-omap.c > @@ -159,8 +159,8 @@ static int ehci_hcd_omap_probe(struct platform_device *pdev) > /* get the PHY device */ > phy = devm_usb_get_phy_by_phandle(dev, "phys", i); > if (IS_ERR(phy)) { > - /* Don't bail out if PHY is not absolutely necessary */ > - if (pdata->port_mode[i] != OMAP_EHCI_PORT_MODE_PHY) > + /* Don't bail out if PHY is unused */ > + if (pdata->port_mode[i] == OMAP_USBHS_PORT_MODE_UNUSED) > continue; > > ret = PTR_ERR(phy); > - Péter Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki. Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki