summaryrefslogtreecommitdiffstats
path: root/arm-tegra-usb-no-reset-linux33.patch
diff options
context:
space:
mode:
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 00000000..342e80f5
--- /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);