usb: gadget: dummy_hcd: set gadget.is_otg before calling bind()
authorSebastian Andrzej Siewior <bigeasy@linutronix.de>
Thu, 16 Jun 2011 18:36:56 +0000 (20:36 +0200)
committerGreg Kroah-Hartman <gregkh@suse.de>
Fri, 1 Jul 2011 21:31:07 +0000 (14:31 -0700)
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>
drivers/usb/gadget/dummy_hcd.c

index cecc25a..834fb92 100644 (file)
@@ -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;