summaryrefslogtreecommitdiff
path: root/SOURCES/0001-ARM-tegra-usb-no-reset.patch
diff options
context:
space:
mode:
Diffstat (limited to 'SOURCES/0001-ARM-tegra-usb-no-reset.patch')
-rw-r--r--SOURCES/0001-ARM-tegra-usb-no-reset.patch32
1 files changed, 32 insertions, 0 deletions
diff --git a/SOURCES/0001-ARM-tegra-usb-no-reset.patch b/SOURCES/0001-ARM-tegra-usb-no-reset.patch
new file mode 100644
index 0000000..f91c6b8
--- /dev/null
+++ b/SOURCES/0001-ARM-tegra-usb-no-reset.patch
@@ -0,0 +1,32 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Peter Robinson <pbrobinson@gmail.com>
+Date: Thu, 3 May 2012 20:27:11 +0100
+Subject: [PATCH] ARM: tegra: usb no reset
+
+Patch for disconnect issues with storage attached to a
+ tegra-ehci controller
+---
+ drivers/usb/core/hub.c | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c
+index fc748c731832..7d35e12de70f 100644
+--- a/drivers/usb/core/hub.c
++++ b/drivers/usb/core/hub.c
+@@ -5517,6 +5517,13 @@ static void hub_event(struct work_struct *work)
+ (u16) hub->change_bits[0],
+ (u16) hub->event_bits[0]);
+
++ /* Don't disconnect USB-SATA on TrimSlice */
++ if (strcmp(dev_name(hdev->bus->controller), "tegra-ehci.0") == 0) {
++ if ((hdev->state == 7) && (hub->change_bits[0] == 0) &&
++ (hub->event_bits[0] == 0x2))
++ hub->event_bits[0] = 0;
++ }
++
+ /* Lock the device, then check to see if we were
+ * disconnected while waiting for the lock to succeed. */
+ usb_lock_device(hdev);
+--
+2.26.2
+