summaryrefslogtreecommitdiffstats
path: root/arm-tegra-usb-no-reset-linux33.patch
diff options
context:
space:
mode:
authorPeter Robinson <pbrobinson@gmail.com>2012-05-03 20:27:11 +0100
committerPeter Robinson <pbrobinson@gmail.com>2012-05-03 20:27:11 +0100
commitdf483e6175e4d7f7057b2a72a4a5518fd17f7e96 (patch)
tree578febc51e21dccf3cb374f95f2e7adbfc22327d /arm-tegra-usb-no-reset-linux33.patch
parent7b4b4392628b7f9dfe879e3e8e92c47971c1a09f (diff)
downloadkernel-df483e6175e4d7f7057b2a72a4a5518fd17f7e96.tar.gz
kernel-df483e6175e4d7f7057b2a72a4a5518fd17f7e96.tar.xz
kernel-df483e6175e4d7f7057b2a72a4a5518fd17f7e96.zip
Patch for disconnect issues with storage attached to a tegra-ehci controller
Diffstat (limited to 'arm-tegra-usb-no-reset-linux33.patch')
-rw-r--r--arm-tegra-usb-no-reset-linux33.patch16
1 files changed, 16 insertions, 0 deletions
diff --git a/arm-tegra-usb-no-reset-linux33.patch b/arm-tegra-usb-no-reset-linux33.patch
new file mode 100644
index 000000000..342e80f5a
--- /dev/null
+++ b/arm-tegra-usb-no-reset-linux33.patch
@@ -0,0 +1,16 @@
+--- linux-3.3.4-3.fc17.x86_64_orig/drivers/usb/core/hub.c 2012-05-02 20:08:18.421685932 -0400
++++ linux-3.3.4-3.fc17.x86_64/drivers/usb/core/hub.c 2012-05-02 20:30:36.565865425 -0400
+@@ -3484,6 +3484,13 @@ static void hub_events(void)
+ (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);