summaryrefslogtreecommitdiffstats
path: root/drivers/usb/gadget
diff options
context:
space:
mode:
authorSebastian Andrzej Siewior <bigeasy@linutronix.de>2011-06-16 20:36:56 +0200
committerGreg Kroah-Hartman <gregkh@suse.de>2011-07-01 14:31:07 -0700
commit99fd14080e7f0a65b87830bf5062b09f6e80dd13 (patch)
tree68935492ae61590827f6d49935d7cd0273bcf637 /drivers/usb/gadget
parent2542787430fc46b4e07e0da4c6ec80ed230032e5 (diff)
usb: gadget: dummy_hcd: set gadget.is_otg before calling bind()
Before commit 53832daea ("usb: gadget: dummy_hcd: use the shared_hcd infrastructure") the is_otg field was set in dummy_udc_probe(). It seems to me that this field is used in gadget's bind function. Therefore I'm moving it before the bind() callback is called. Cc: Tatyana Brokhman <tlinder@codeaurora.org Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Signed-off-by: Felipe Balbi <balbi@ti.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/usb/gadget')
-rw-r--r--drivers/usb/gadget/dummy_hcd.c15
1 files changed, 8 insertions, 7 deletions
diff --git a/drivers/usb/gadget/dummy_hcd.c b/drivers/usb/gadget/dummy_hcd.c
index cecc25ad458..834fb923a06 100644
--- a/drivers/usb/gadget/dummy_hcd.c
+++ b/drivers/usb/gadget/dummy_hcd.c
@@ -929,6 +929,14 @@ static int dummy_udc_start(struct usb_gadget_driver *driver,
dum->ep[0].ep.maxpacket = 9;
} else
dum->ep[0].ep.maxpacket = 64;
+
+ if (dum->gadget.speed == USB_SPEED_SUPER)
+ dum->gadget.is_otg =
+ (dummy_hcd_to_hcd(dum->ss_hcd)->self.otg_port != 0);
+ else
+ dum->gadget.is_otg =
+ (dummy_hcd_to_hcd(dum->hs_hcd)->self.otg_port != 0);
+
list_del_init (&dum->ep [0].ep.ep_list);
INIT_LIST_HEAD(&dum->fifo_req.queue);
@@ -944,13 +952,6 @@ static int dummy_udc_start(struct usb_gadget_driver *driver,
return retval;
}
- if (dum->gadget.speed == USB_SPEED_SUPER)
- dum->gadget.is_otg =
- (dummy_hcd_to_hcd(dum->ss_hcd)->self.otg_port != 0);
- else
- dum->gadget.is_otg =
- (dummy_hcd_to_hcd(dum->hs_hcd)->self.otg_port != 0);
-
/* khubd will enumerate this in a while */
dummy_pullup(&dum->gadget, 1);
return 0;