]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
usb: ehci-orion: fix probe for !GENERIC_PHY
authorJonas Gorski <jogo@openwrt.org>
Sun, 23 Aug 2015 13:01:08 +0000 (15:01 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 9 Dec 2015 19:34:39 +0000 (14:34 -0500)
commit db1319e166c5e872c4be54eac4e47454133708cf upstream.

Commit d445913ce0ab7f ("usb: ehci-orion: add optional PHY support")
added support for optional phys, but devm_phy_optional_get returns
-ENOSYS if GENERIC_PHY is not enabled.

This causes probe failures, even when there are no phys specified:

[    1.443365] orion-ehci f1058000.usb: init f1058000.usb fail, -38
[    1.449403] orion-ehci: probe of f1058000.usb failed with error -38

Similar to dwc3, treat -ENOSYS as no phy.

Fixes: d445913ce0ab7f ("usb: ehci-orion: add optional PHY support")
Signed-off-by: Jonas Gorski <jogo@openwrt.org>
Acked-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/host/ehci-orion.c

index bfcbb9aa8816bb5a4c84bef1d525ca8d086c8c66..ee8d5faa01947cd6d2c8cf708273c0521762a797 100644 (file)
@@ -224,7 +224,8 @@ static int ehci_orion_drv_probe(struct platform_device *pdev)
        priv->phy = devm_phy_optional_get(&pdev->dev, "usb");
        if (IS_ERR(priv->phy)) {
                err = PTR_ERR(priv->phy);
-               goto err_phy_get;
+               if (err != -ENOSYS)
+                       goto err_phy_get;
        } else {
                err = phy_init(priv->phy);
                if (err)