If the generic PHY support is disabled the stub of devm_of_phy_get_by_index returns ENOSYS. This corner case isn't handled properly by usb_phy_roothub_add_phy and at least breaks USB support on Raspberry Pi (bcm2835_defconfig): dwc2 20980000.usb: dwc2_hcd_init() FAILED, returning -38 dwc2: probe of 20980000.usb failed with error -38 Fixes: 07dbff0ddbd8 ("usb: core: add a wrapper for the USB PHYs on the HCD") Signed-off-by: Stefan Wahren <stefan.wahren@xxxxxxxx> --- drivers/usb/core/phy.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/usb/core/phy.c b/drivers/usb/core/phy.c index 09b7c43..c89e9be 100644 --- a/drivers/usb/core/phy.c +++ b/drivers/usb/core/phy.c @@ -39,7 +39,7 @@ static int usb_phy_roothub_add_phy(struct device *dev, int index, struct phy *phy = devm_of_phy_get_by_index(dev, dev->of_node, index); if (IS_ERR_OR_NULL(phy)) { - if (!phy || PTR_ERR(phy) == -ENODEV) + if (!phy || PTR_ERR(phy) == -ENODEV || PTR_ERR(phy) == -ENOSYS) return 0; else return PTR_ERR(phy); -- 2.7.4 -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html