summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexandre Courbot <acourbot@nvidia.com>2011-05-27 13:37:33 +0900
committerNiket Sirsi <nsirsi@nvidia.com>2011-06-14 16:13:56 -0700
commitdd72a545eec26bb5a52d19dca2e03a631ebe366d (patch)
tree06cab6a02439d338fc7f45771f755f85bed1e7d7
parent0b663596c2a901774debdb139a201631cfbc19fd (diff)
usb: gadget: introduce delay when setting address of tegra device
Some windows host drivers require this small delay in order to properly detect the tegra device. This patch ensures correct detection in all cases. Workaround for bug 814907 (cherry picked from commit 53c4f00605677c8de4311586c4f75903978cbd94) Reviewed-on: http://git-master/r/35613 (cherry picked from commit 126a2fca500004a4b03ea377da000e8972efaed6) Change-Id: Iaff87cbc2fe3332f9cb27a08e1156015fc66a3c5 Reviewed-on: http://git-master/r/36211 Reviewed-by: Alex Courbot <acourbot@nvidia.com> Tested-by: Alex Courbot <acourbot@nvidia.com> Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
-rw-r--r--drivers/usb/gadget/fsl_udc_core.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/usb/gadget/fsl_udc_core.c b/drivers/usb/gadget/fsl_udc_core.c
index 08079b0dffa6..02adcc2afbb3 100644
--- a/drivers/usb/gadget/fsl_udc_core.c
+++ b/drivers/usb/gadget/fsl_udc_core.c
@@ -1598,6 +1598,11 @@ static void setup_received_irq(struct fsl_udc *udc,
if (setup->bRequestType != (USB_DIR_OUT | USB_TYPE_STANDARD
| USB_RECIP_DEVICE))
break;
+#ifdef CONFIG_ARCH_TEGRA
+ /* This delay is necessary for some windows drivers to
+ * properly recognize the device */
+ mdelay(1);
+#endif
ch9setaddress(udc, wValue, wIndex, wLength);
return;