This is a note to let you know that I've just added the patch titled phy: omap-usb2: Enable runtime PM of omap-usb2 phy properly to the 3.17-stable tree which can be found at: http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary The filename of the patch is: phy-omap-usb2-enable-runtime-pm-of-omap-usb2-phy-properly.patch and it can be found in the queue-3.17 subdirectory. If you, or anyone else, feels it should not be added to the stable tree, please let <stable@xxxxxxxxxxxxxxx> know about it. >From f20531a9aae0c7378d9fa75b4b5d99b7eecab066 Mon Sep 17 00:00:00 2001 From: Oussama Ghorbel <ghorbel@xxxxxxxxxxxxxxxx> Date: Tue, 4 Nov 2014 11:47:06 +0530 Subject: phy: omap-usb2: Enable runtime PM of omap-usb2 phy properly From: Oussama Ghorbel <ghorbel@xxxxxxxxxxxxxxxx> commit f20531a9aae0c7378d9fa75b4b5d99b7eecab066 upstream. 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. Fixes: eb82a3d846fa Signed-off-by: Oussama Ghorbel <ghorbel@xxxxxxxxxxxxxxxx> Tested-by: Rabin Vincent <rabin@xxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> --- drivers/phy/phy-omap-usb2.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) --- a/drivers/phy/phy-omap-usb2.c +++ b/drivers/phy/phy-omap-usb2.c @@ -262,14 +262,16 @@ static int omap_usb2_probe(struct platfo 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)) { Patches currently in stable-queue which might be from ghorbel@xxxxxxxxxxxxxxxx are queue-3.17/phy-omap-usb2-enable-runtime-pm-of-omap-usb2-phy-properly.patch -- To unsubscribe from this list: send the line "unsubscribe stable" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html