summaryrefslogtreecommitdiffstats
path: root/drivers/usb/dwc2
diff options
context:
space:
mode:
authorGregory Herrero2015-09-29 12:08:20 +0200
committerFelipe Balbi2015-10-01 19:40:24 +0200
commitcd0e641c8da3c763f1f4b838a9bc30f1297f68d0 (patch)
tree57cae2ccfb5787a6f6d47c573b11926cfbca680d /drivers/usb/dwc2
parentusb: dwc2: gadget: don't modify pullup state in host mode (diff)
downloadkernel-qcow2-linux-cd0e641c8da3c763f1f4b838a9bc30f1297f68d0.tar.gz
kernel-qcow2-linux-cd0e641c8da3c763f1f4b838a9bc30f1297f68d0.tar.xz
kernel-qcow2-linux-cd0e641c8da3c763f1f4b838a9bc30f1297f68d0.zip
usb: dwc2: gadget: set op_state in vbus_session call
Some device may have external id pin control enabled, so op_state will not be set on id pin interrupt change. Thus, ensure op_state is set to peripheral during vbus detection. Signed-off-by: Gregory Herrero <gregory.herrero@intel.com> Signed-off-by: Mian Yousaf Kaukab <yousaf.kaukab@intel.com> Tested-by: Robert Baldyga <r.baldyga@samsung.com> Tested-by: Dinh Nguyen <dinguyen@opensource.altera.com> Tested-by: John Youn <johnyoun@synopsys.com> Acked-by: John Youn <johnyoun@synopsys.com> Signed-off-by: Felipe Balbi <balbi@ti.com>
Diffstat (limited to 'drivers/usb/dwc2')
-rw-r--r--drivers/usb/dwc2/gadget.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/usb/dwc2/gadget.c b/drivers/usb/dwc2/gadget.c
index 61d102185bf1..1a216c51bbe4 100644
--- a/drivers/usb/dwc2/gadget.c
+++ b/drivers/usb/dwc2/gadget.c
@@ -3209,6 +3209,7 @@ static int dwc2_hsotg_vbus_session(struct usb_gadget *gadget, int is_active)
spin_lock_irqsave(&hsotg->lock, flags);
if (is_active) {
+ hsotg->op_state = OTG_STATE_B_PERIPHERAL;
/*
* If controller is hibernated, it must exit from hibernation
* before being initialized