From 99fd14080e7f0a65b87830bf5062b09f6e80dd13 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Thu, 16 Jun 2011 20:36:56 +0200 Subject: [PATCH] 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 Signed-off-by: Felipe Balbi Signed-off-by: Greg Kroah-Hartman --- drivers/usb/gadget/dummy_hcd.c | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/drivers/usb/gadget/dummy_hcd.c b/drivers/usb/gadget/dummy_hcd.c index cecc25ad4586..834fb923a062 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;