From: Sebastian Andrzej Siewior Date: Thu, 16 Jun 2011 18:36:56 +0000 (+0200) Subject: usb: gadget: dummy_hcd: set gadget.is_otg before calling bind() X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=99fd14080e7f0a65b87830bf5062b09f6e80dd13;p=mv-sheeva.git 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 --- 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;