diff --git a/drivers/usb/gadget/dummy_hcd.c b/drivers/usb/gadget/dummy_hcd.c
index cecc25ad4586a6912173b441d3d3f4765b6ab4a3..834fb923a0626ccf577a1c1ee4241909687f054b 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;