Re: [PATCH 2/2] Workaround for SB600 SATA ODD issue

From: Christoph Hellwig
Date: Sat Nov 04 2006 - 08:04:08 EST


On Fri, Nov 03, 2006 at 02:00:04PM -0500, Luugi Marsan wrote:
> From: conke.hu@xxxxxxx
>
> There was an ASIC bug in the SB600 SATA controller of low revision (<=13) and CD burning may hang (only SATA ODD has this issue, and SATA HDD works well). The patch provides a workaround for this issue.

Please make the code ahear to Documentation/CodingStyle (aka the style
used everywhere else in ahci.c..)

Something like:

static int ahci_check_atapi_dma(struct ata_queued_cmd *qc)
{
struct pci_dev *pdev = to_pci_dev(qc->ap->host->dev);

/*
* Walkaround for ATI/AMD SB600 SATA ODD isue.
*/
if (pdev->vendor = PCI_VENDOR_ID_ATI && pdev->device == 0x4380) {
struct ahci_host_priv *priv = qc->ap->host->private_data;

if (priv->rev < 14) {
u32 rq_len = qc->scsicmd->request_bufflen;
u32 low_8k = rq_len & 0x1fff;

if ((rq_len & 0xffffe000) && low_8k && low_8k < 512)
return 1;
}
}

return 0;
}
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/