diff --git a/drivers/usb/dwc3/dwc3-msm.c b/drivers/usb/dwc3/dwc3-msm.c index 3bc456e4f369..68372fe6fdff 100644 --- a/drivers/usb/dwc3/dwc3-msm.c +++ b/drivers/usb/dwc3/dwc3-msm.c @@ -4537,11 +4537,14 @@ static int dwc3_msm_gadget_vbus_draw(struct dwc3_msm *mdwc, unsigned int mA) int ret; if (!mdwc->usb_psy) { - mdwc->usb_psy = power_supply_get_by_name("usb"); - if (!mdwc->usb_psy) { - dev_err(mdwc->dev, "Could not get usb psy\n"); + mdwc->usb_psy = power_supply_get_by_phandle(mdwc->dev->of_node, + "qcom,usb-charger"); + if (IS_ERR_OR_NULL(mdwc->usb_psy)) { + dev_info(mdwc->dev, "Could not get usb psy\n"); return -ENODEV; } + } else if (IS_ERR(mdwc->usb_psy)) { + return 0; } if (mdwc->max_power == mA)