Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f20531a9 authored by Oussama Ghorbel's avatar Oussama Ghorbel Committed by Greg Kroah-Hartman
Browse files

phy: omap-usb2: Enable runtime PM of omap-usb2 phy properly



The USB OTG port does not work since v3.16 on omap platform.
This is a regression introduced by the commit
eb82a3d8 (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.

Fixes: eb82a3d8
Signed-off-by: default avatarOussama Ghorbel <ghorbel@pivasoftware.com>
Tested-by: default avatarRabin Vincent <rabin@rab.in>
Signed-off-by: default avatarKishon Vijay Abraham I <kishon@ti.com>
Cc: stable <stable@vger.kernel.org>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent a88098bd
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -258,14 +258,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)) {