diff options
author | Sebastian Andrzej Siewior <bigeasy@linutronix.de> | 2011-06-16 18:36:56 (GMT) |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2011-07-01 21:31:07 (GMT) |
commit | 99fd14080e7f0a65b87830bf5062b09f6e80dd13 (patch) | |
tree | 68935492ae61590827f6d49935d7cd0273bcf637 /drivers | |
parent | 2542787430fc46b4e07e0da4c6ec80ed230032e5 (diff) | |
download | linux-99fd14080e7f0a65b87830bf5062b09f6e80dd13.tar.xz |
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')
-rw-r--r-- | drivers/usb/gadget/dummy_hcd.c | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/drivers/usb/gadget/dummy_hcd.c b/drivers/usb/gadget/dummy_hcd.c index cecc25a..834fb92 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; |