aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/generic/patches-4.0/191-usb-ehci-orion-fix-probe-for-GENERIC_PHY.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/generic/patches-4.0/191-usb-ehci-orion-fix-probe-for-GENERIC_PHY.patch')
-rw-r--r--target/linux/generic/patches-4.0/191-usb-ehci-orion-fix-probe-for-GENERIC_PHY.patch35
1 files changed, 35 insertions, 0 deletions
diff --git a/target/linux/generic/patches-4.0/191-usb-ehci-orion-fix-probe-for-GENERIC_PHY.patch b/target/linux/generic/patches-4.0/191-usb-ehci-orion-fix-probe-for-GENERIC_PHY.patch
new file mode 100644
index 0000000..cda4ca0
--- /dev/null
+++ b/target/linux/generic/patches-4.0/191-usb-ehci-orion-fix-probe-for-GENERIC_PHY.patch
@@ -0,0 +1,35 @@
+From a95f03e51471dbdbafd3391991d867ac2358ed02 Mon Sep 17 00:00:00 2001
+From: Jonas Gorski <jogo@openwrt.org>
+Date: Sun, 23 Aug 2015 14:23:29 +0200
+Subject: [PATCH] usb: ehci-orion: fix probe for !GENERIC_PHY
+
+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>
+---
+ drivers/usb/host/ehci-orion.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+--- a/drivers/usb/host/ehci-orion.c
++++ b/drivers/usb/host/ehci-orion.c
+@@ -218,7 +218,8 @@ static int ehci_orion_drv_probe(struct p
+ 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)