FAQ Search Today's Posts Mark Forums Read
» Video Reviews

» Linux Archive

Linux-archive is a website aiming to archive linux email lists and to make them easily accessible for linux users/developers.


» Sponsor

» Partners

» Sponsor

Go Back   Linux Archive > Ubuntu > Ubuntu Kernel Team

 
 
LinkBack Thread Tools
 
Old 12-16-2009, 08:21 AM
Bryan Wu
 
Default Ubuntu: SAUCE: Workaround for SATA drive failure on Ubuntu installation

Following patch will workaround a critical bug on both Karmic and Lucid.
BugLink: http://bugs.launchpad.net/bugs/431963

Please consider apply it on fsl-imx51 branch of Karmic and Lucid.

Dinh Nguyen (1):
Ubuntu: SAUCE: Workaround for SATA drive failure on Ubuntu
installation

drivers/usb/storage/usb.c | 17 +++++++++++++++--
1 files changed, 15 insertions(+), 2 deletions(-)


--
kernel-team mailing list
kernel-team@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/kernel-team
 
Old 12-16-2009, 08:21 AM
Bryan Wu
 
Default Ubuntu: SAUCE: Workaround for SATA drive failure on Ubuntu installation

From: Dinh Nguyen <r00091@freescale.com>

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

Original patch was from Dinh Nguyen. That one find the root cause
of this SATA drive failure issue. The USB2SATA chip GL830 can not
accept the ATA PASS THROUGH command.

This patch will skip the ATA PASS THROUGH command only for GL830
USB device. So it will not effect other USB devices.

Signed-off-by: Dinh Nguyen <r00091@freescale.com>
Signed-off-by: Bryan Wu <bryan.wu@canonical.com>
---
drivers/usb/storage/usb.c | 17 +++++++++++++++--
1 files changed, 15 insertions(+), 2 deletions(-)

diff --git a/drivers/usb/storage/usb.c b/drivers/usb/storage/usb.c
index 8060b85..d538511 100644
--- a/drivers/usb/storage/usb.c
+++ b/drivers/usb/storage/usb.c
@@ -329,8 +329,21 @@ static int usb_stor_control_thread(void * __us)

/* we've got a command, let's do it! */
else {
- US_DEBUG(usb_stor_show_command(us->srb));
- us->proto_handler(us->srb, us);
+#ifdef CONFIG_MACH_MX51_BABBAGE
+ u16 vid =
+ le16_to_cpu(us->pusb_dev->descriptor.idVendor);
+ u16 pid =
+ le16_to_cpu(us->pusb_dev->descriptor.idProduct);
+#endif
+ US_DEBUGP(usb_stor_show_command(us->srb));
+#ifdef CONFIG_MACH_MX51_BABBAGE
+ if ((us->srb->cmnd[0] == 0x85) &&
+ (vid == 0x05e3) &&
+ (pid == 0x0718))
+ US_DEBUGP("Skip ATA PASS-THROUGH command
");
+ else
+#endif
+ us->proto_handler(us->srb, us);
}

/* lock access to the state */
--
1.6.3.3


--
kernel-team mailing list
kernel-team@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/kernel-team
 

Thread Tools




All times are GMT. The time now is 11:39 PM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.
Copyright 2007 - 2008, www.linux-archive.org