diff options
Diffstat (limited to 'drivers/usb/chipidea/udc.c')
-rw-r--r-- | drivers/usb/chipidea/udc.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/usb/chipidea/udc.c b/drivers/usb/chipidea/udc.c index 065f5d97aa67..dfec5a176315 100644 --- a/drivers/usb/chipidea/udc.c +++ b/drivers/usb/chipidea/udc.c | |||
@@ -1596,8 +1596,11 @@ static int ci_udc_pullup(struct usb_gadget *_gadget, int is_on) | |||
1596 | { | 1596 | { |
1597 | struct ci_hdrc *ci = container_of(_gadget, struct ci_hdrc, gadget); | 1597 | struct ci_hdrc *ci = container_of(_gadget, struct ci_hdrc, gadget); |
1598 | 1598 | ||
1599 | /* Data+ pullup controlled by OTG state machine in OTG fsm mode */ | 1599 | /* |
1600 | if (ci_otg_is_fsm_mode(ci)) | 1600 | * Data+ pullup controlled by OTG state machine in OTG fsm mode; |
1601 | * and don't touch Data+ in host mode for dual role config. | ||
1602 | */ | ||
1603 | if (ci_otg_is_fsm_mode(ci) || ci->role == CI_ROLE_HOST) | ||
1601 | return 0; | 1604 | return 0; |
1602 | 1605 | ||
1603 | pm_runtime_get_sync(&ci->gadget.dev); | 1606 | pm_runtime_get_sync(&ci->gadget.dev); |