kernel: refresh patches for kernel 4.4
[openwrt.git] / target / linux / generic / patches-4.3 / 191-usb-ehci-orion-fix-probe-for-GENERIC_PHY.patch
1 From a95f03e51471dbdbafd3391991d867ac2358ed02 Mon Sep 17 00:00:00 2001
2 From: Jonas Gorski <jogo@openwrt.org>
3 Date: Sun, 23 Aug 2015 14:23:29 +0200
4 Subject: [PATCH] usb: ehci-orion: fix probe for !GENERIC_PHY
5
6 Commit d445913ce0ab7f ("usb: ehci-orion: add optional PHY support")
7 added support for optional phys, but devm_phy_optional_get returns
8 -ENOSYS if GENERIC_PHY is not enabled.
9
10 This causes probe failures, even when there are no phys specified:
11
12 [    1.443365] orion-ehci f1058000.usb: init f1058000.usb fail, -38
13 [    1.449403] orion-ehci: probe of f1058000.usb failed with error -38
14
15 Similar to dwc3, treat -ENOSYS as no phy.
16
17 Fixes: d445913ce0ab7f ("usb: ehci-orion: add optional PHY support")
18
19 Signed-off-by: Jonas Gorski <jogo@openwrt.org>
20 ---
21  drivers/usb/host/ehci-orion.c | 3 ++-
22  1 file changed, 2 insertions(+), 1 deletion(-)
23
24 --- a/drivers/usb/host/ehci-orion.c
25 +++ b/drivers/usb/host/ehci-orion.c
26 @@ -224,7 +224,8 @@ static int ehci_orion_drv_probe(struct p
27         priv->phy = devm_phy_optional_get(&pdev->dev, "usb");
28         if (IS_ERR(priv->phy)) {
29                 err = PTR_ERR(priv->phy);
30 -               goto err_phy_get;
31 +               if (err != -ENOSYS)
32 +                       goto err_phy_get;
33         } else {
34                 err = phy_init(priv->phy);
35                 if (err)