Linux Archive

Linux Archive (http://www.linux-archive.org/)
-   Ubuntu Kernel Team (http://www.linux-archive.org/ubuntu-kernel-team/)
-   -   Ubuntu: SAUCE: Workaround for SATA drive failure on Ubuntu installation (http://www.linux-archive.org/ubuntu-kernel-team/296112-ubuntu-sauce-workaround-sata-drive-failure-ubuntu-installation.html)

Stefan Bader 12-16-2009 09:36 AM

Ubuntu: SAUCE: Workaround for SATA drive failure on Ubuntu installation
 
Ok, at least this really really only affects imx51. Just
remember this if you ever get a board in imx51 with a different
controller. ;-)


Bryan Wu wrote:
> 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>
Acked-by: Stefan Bader <stefan.bader@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 */


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


All times are GMT. The time now is 06:56 PM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.