summaryrefslogtreecommitdiff
path: root/recipes/linux/linux-omap-2.6.31/usb/0014-musb-disable-PING-on-status-phase-of-control-transf.patch
diff options
context:
space:
mode:
authorKoen Kooi <koen@openembedded.org>2009-09-17 15:23:31 +0200
committerKoen Kooi <koen@openembedded.org>2009-09-17 15:23:31 +0200
commit6d3ad5fb212eba132f0af77629babb58eedd1c52 (patch)
treee72c0e9102afd5097a9369b6685e70c18c92a964 /recipes/linux/linux-omap-2.6.31/usb/0014-musb-disable-PING-on-status-phase-of-control-transf.patch
parenta0818d6ec740a5a38b4cb46a947844e37e4439cf (diff)
linux-omap 2.6.31: add extra EHCI and USB patches from http://arago-project.org/git/people/?p=ajay/omap-usb-driver.git;a=summary
Diffstat (limited to 'recipes/linux/linux-omap-2.6.31/usb/0014-musb-disable-PING-on-status-phase-of-control-transf.patch')
-rw-r--r--recipes/linux/linux-omap-2.6.31/usb/0014-musb-disable-PING-on-status-phase-of-control-transf.patch34
1 files changed, 34 insertions, 0 deletions
diff --git a/recipes/linux/linux-omap-2.6.31/usb/0014-musb-disable-PING-on-status-phase-of-control-transf.patch b/recipes/linux/linux-omap-2.6.31/usb/0014-musb-disable-PING-on-status-phase-of-control-transf.patch
new file mode 100644
index 0000000000..f93c2a2ed6
--- /dev/null
+++ b/recipes/linux/linux-omap-2.6.31/usb/0014-musb-disable-PING-on-status-phase-of-control-transf.patch
@@ -0,0 +1,34 @@
+From 9d49c81b7ebf7942efc14bc9533a14cb64cd68e6 Mon Sep 17 00:00:00 2001
+From: Ajay Kumar Gupta <ajay.gupta@ti.com>
+Date: Fri, 12 Jun 2009 19:07:13 +0530
+Subject: [PATCH 14/16] musb: disable PING on status phase of control transfer
+
+PING token is not mandatory in status phase of control transfer
+so some high speed USB sticks doesn't support this.If such devices
+are connected to MUSB then they would not respond to PING token
+causing delayed or failed enumeration.
+
+Fixing this issue by disabling PING token in status phase of control
+transfers.
+
+Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
+---
+ drivers/usb/musb/musb_host.c | 2 ++
+ 1 files changed, 2 insertions(+), 0 deletions(-)
+
+diff --git a/drivers/usb/musb/musb_host.c b/drivers/usb/musb/musb_host.c
+index cf94511..4d301d2 100644
+--- a/drivers/usb/musb/musb_host.c
++++ b/drivers/usb/musb/musb_host.c
+@@ -1056,6 +1056,8 @@ irqreturn_t musb_h_ep0_irq(struct musb *musb)
+ else
+ csr = MUSB_CSR0_H_STATUSPKT
+ | MUSB_CSR0_TXPKTRDY;
++ /* disable ping token in status phase */
++ csr |= MUSB_CSR0_H_DIS_PING;
+
+ /* flag status stage */
+ musb->ep0_stage = MUSB_EP0_STATUS;
+--
+1.6.2.4
+