summaryrefslogtreecommitdiff
path: root/drivers/usb
diff options
context:
space:
mode:
authorLinux Build Service Account <lnxbuild@localhost>2016-09-10 06:39:14 -0700
committerGerrit - the friendly Code Review server <code-review@localhost>2016-09-10 06:39:13 -0700
commita2d7b195ec86fdaa59d7396b62732dde5e2e2b55 (patch)
treebbe4a8b5e3c5058f74a38068645d595b219a8d5e /drivers/usb
parent5c5e16573deeec23987a5b7184688a7c9615a3f1 (diff)
parentffedac17171fd35396bfdf76447cbe68da62ac14 (diff)
Merge "usb: dwc3-msm: Only set vbus_draw for SDP type"
Diffstat (limited to 'drivers/usb')
-rw-r--r--drivers/usb/dwc3/dwc3-msm.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/usb/dwc3/dwc3-msm.c b/drivers/usb/dwc3/dwc3-msm.c
index f24816f06a5b..83a265f0211e 100644
--- a/drivers/usb/dwc3/dwc3-msm.c
+++ b/drivers/usb/dwc3/dwc3-msm.c
@@ -3209,7 +3209,7 @@ static int dwc3_otg_start_peripheral(struct dwc3_msm *mdwc, int on)
static int dwc3_msm_gadget_vbus_draw(struct dwc3_msm *mdwc, unsigned mA)
{
- union power_supply_propval pval = {1000 * mA};
+ union power_supply_propval pval = {0};
int ret;
if (mdwc->charging_disabled)
@@ -3226,9 +3226,14 @@ static int dwc3_msm_gadget_vbus_draw(struct dwc3_msm *mdwc, unsigned mA)
}
}
+ power_supply_get_property(mdwc->usb_psy, POWER_SUPPLY_PROP_TYPE, &pval);
+ if (pval.intval != POWER_SUPPLY_TYPE_USB)
+ return 0;
+
dev_info(mdwc->dev, "Avail curr from USB = %u\n", mA);
/* Set max current limit in uA */
+ pval.intval = 1000 * mA;
ret = power_supply_set_property(mdwc->usb_psy,
POWER_SUPPLY_PROP_CURRENT_MAX, &pval);
if (ret) {