[PATCH] UBUNTU: SAUCE: IMX51: skip ATA PASS THROUGH command for USB storage disk from JMicron

Bryan Wu bryan.wu at canonical.com
Wed Feb 24 08:20:11 UTC 2010


BugLink: http://bugs.launchpad.net/bugs/499881

This issue is the same as LP431963, which was fixed in commit
a60f8dfc868778889c180a50a13032fa93384115. The USB storage disk from JMircon
uses the same USB-TO-SATA controller as our Babbage board. But it use different
USB VID and PID.

Add JMircon USB VIP and PID to the checking list.

Signed-off-by: Bryan Wu <bryan.wu at canonical.com>
---
 drivers/usb/storage/usb.c |   10 +++++++---
 1 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/drivers/usb/storage/usb.c b/drivers/usb/storage/usb.c
index b8355ca..3836bd4 100644
--- a/drivers/usb/storage/usb.c
+++ b/drivers/usb/storage/usb.c
@@ -333,11 +333,15 @@ static int usb_stor_control_thread(void * __us)
 			US_DEBUG(usb_stor_show_command(us->srb));
 #ifdef CONFIG_MACH_MX51_BABBAGE
 			if ((us->srb->cmnd[0] == 0x85) &&
-			    (le16_to_cpu(us->pusb_dev->descriptor.idVendor)
+			    (((le16_to_cpu(us->pusb_dev->descriptor.idVendor)
 								== 0x05e3) &&
 			    (le16_to_cpu(us->pusb_dev->descriptor.idProduct)
-								== 0x0718))
-				US_DEBUGP("Skip ATA PASS-THROUGH command\n");
+								== 0x0718)) ||
+			    ((le16_to_cpu(us->pusb_dev->descriptor.idVendor)
+								== 0x152d) &&
+			    (le16_to_cpu(us->pusb_dev->descriptor.idProduct)
+								== 0x2329))))
+					US_DEBUGP("Skip ATA PASS-THROUGH command\n");
 			else
 #endif
 			us->proto_handler(us->srb, us);
-- 
1.6.3.3





More information about the kernel-team mailing list