0f09adf
From: Peter Robinson <pbrobinson@gmail.com>
0f09adf
Date: Thu, 3 May 2012 20:27:11 +0100
0f09adf
Subject: [PATCH] ARM: tegra: usb no reset
0f09adf
0f09adf
Patch for disconnect issues with storage attached to a
0f09adf
 tegra-ehci controller
0f09adf
---
0f09adf
 drivers/usb/core/hub.c | 7 +++++++
0f09adf
 1 file changed, 7 insertions(+)
0f09adf
0f09adf
diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c
1d791ed
index b649fef2e35d..fb89290710ad 100644
0f09adf
--- a/drivers/usb/core/hub.c
0f09adf
+++ b/drivers/usb/core/hub.c
1d791ed
@@ -5023,6 +5023,13 @@ static void hub_event(struct work_struct *work)
1d791ed
 			(u16) hub->change_bits[0],
1d791ed
 			(u16) hub->event_bits[0]);
0f09adf
 
1d791ed
+	/* Don't disconnect USB-SATA on TrimSlice */
1d791ed
+	if (strcmp(dev_name(hdev->bus->controller), "tegra-ehci.0") == 0) {
1d791ed
+		if ((hdev->state == 7) && (hub->change_bits[0] == 0) &&
1d791ed
+				(hub->event_bits[0] == 0x2))
1d791ed
+			hub->event_bits[0] = 0;
1d791ed
+	}
0f09adf
+
1d791ed
 	/* Lock the device, then check to see if we were
1d791ed
 	 * disconnected while waiting for the lock to succeed. */
1d791ed
 	usb_lock_device(hdev);
0f09adf
-- 
1d791ed
2.1.0
0f09adf