summaryrefslogtreecommitdiff
path: root/drivers/usb/chipidea/udc.c
diff options
context:
space:
mode:
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>2016-09-05 09:09:04 +0300
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2016-09-05 09:09:04 +0300
commit2f5bb02ff22414ce156cacb163dd594b017af357 (patch)
tree5213feb307367fdffb993ed03ed3094ec92021ea /drivers/usb/chipidea/udc.c
parent2c507e464f791327c94d17a0137f00b4717744fc (diff)
parentc6935931c1894ff857616ff8549b61236a19148f (diff)
downloadlinux-2f5bb02ff22414ce156cacb163dd594b017af357.tar.xz
Merge 4.8-rc5 into driver-core-next
We want the sysfs and kernfs in here as well. Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/usb/chipidea/udc.c')
-rw-r--r--drivers/usb/chipidea/udc.c7
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)
{
struct ci_hdrc *ci = container_of(_gadget, struct ci_hdrc, gadget);
- /* Data+ pullup controlled by OTG state machine in OTG fsm mode */
- if (ci_otg_is_fsm_mode(ci))
+ /*
+ * Data+ pullup controlled by OTG state machine in OTG fsm mode;
+ * and don't touch Data+ in host mode for dual role config.
+ */
+ if (ci_otg_is_fsm_mode(ci) || ci->role == CI_ROLE_HOST)
return 0;
pm_runtime_get_sync(&ci->gadget.dev);