Hi Greg, On Tuesday 07 October 2014 04:32 PM, Oussama Ghorbel wrote: > The USB OTG port does not work since v3.16 on omap platform. > This is a regression introduced by the commit > eb82a3d846fa (phy: omap-usb2: Balance pm_runtime_enable() on probe failure > and remove). > This because the call to pm_runtime_enable() function is moved after the > call to devm_phy_create() function, which has side effect since later in > the subsequent calls of devm_phy_create() there is a check with > pm_runtime_enabled() to configure few things.
This is the only fix for this -rc cycle in the PHY susbsystem. So can you take this directly? Or else I can prepare a pull request. Let me know. Acked-by: Kishon Vijay Abraham I <kis...@ti.com> Thanks Kishon > > Signed-off-by: Oussama Ghorbel <ghor...@pivasoftware.com> > --- > drivers/phy/phy-omap-usb2.c | 6 ++++-- > 1 file changed, 4 insertions(+), 2 deletions(-) > > diff --git a/drivers/phy/phy-omap-usb2.c b/drivers/phy/phy-omap-usb2.c > index 93d7835..acc13f8 100644 > --- a/drivers/phy/phy-omap-usb2.c > +++ b/drivers/phy/phy-omap-usb2.c > @@ -262,14 +262,16 @@ static int omap_usb2_probe(struct platform_device *pdev) > otg->phy = &phy->phy; > > platform_set_drvdata(pdev, phy); > + pm_runtime_enable(phy->dev); > > generic_phy = devm_phy_create(phy->dev, NULL, &ops, NULL); > - if (IS_ERR(generic_phy)) > + if (IS_ERR(generic_phy)) { > + pm_runtime_disable(phy->dev); > return PTR_ERR(generic_phy); > + } > > phy_set_drvdata(generic_phy, phy); > > - pm_runtime_enable(phy->dev); > phy_provider = devm_of_phy_provider_register(phy->dev, > of_phy_simple_xlate); > if (IS_ERR(phy_provider)) { > -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/