summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexandre Courbot <acourbot@nvidia.com>2011-05-27 13:37:33 +0900
committerRohan Somvanshi <rsomvanshi@nvidia.com>2011-06-09 01:33:34 -0700
commit126a2fca500004a4b03ea377da000e8972efaed6 (patch)
tree938efed984f2860834cca46b0cc7c1e149b3e4d4
parent7798bb9251068a190af7c1bbf616ad8af01bbe52 (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) Change-Id: Ib950c39bc6f28e28793ef655e0bb9e04ebb39942 Reviewed-on: http://git-master/r/35613 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 c67230db46eb..82118cd1cbf7 100644
--- a/drivers/usb/gadget/fsl_udc_core.c
+++ b/drivers/usb/gadget/fsl_udc_core.c
@@ -1561,6 +1561,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;