Re: [PATA] Failed to set xfermode on LITE-ON LTR-48246S

From: Tejun Heo
Date: Sun Mar 04 2007 - 23:10:39 EST


Philipp Matthias Hahn wrote:
> Hello!
>
> As reported by John Williams and others like in
> http://www.mail-archive.com/linux-ide@xxxxxxxxxxxxxxx/msg03088.html
> I too have a problem with 2.6.20.1 using ata_piix not detecting the
> CD-ROM any more. Applying the patch from
> http://lkml.org/lkml/2007/2/12/24 did not help, but additionally
> applying
> http://readlist.com/lists/vger.kernel.org/linux-kernel/45/228948.html
> made it work. Here's the relevant extra debugging output:

* Did it work with previous kernels?

* Does applying the attached patch over unpatched 2.6.20.1 fix the problem?

--
tejun
diff --git a/drivers/ata/ata_piix.c b/drivers/ata/ata_piix.c
index dc42ba1..78e6ac5 100644
--- a/drivers/ata/ata_piix.c
+++ b/drivers/ata/ata_piix.c
@@ -105,8 +105,10 @@ enum {
PIIX_FLAG_AHCI = (1 << 27), /* AHCI possible */
PIIX_FLAG_CHECKINTR = (1 << 28), /* make sure PCI INTx enabled */

- PIIX_PATA_FLAGS = ATA_FLAG_SLAVE_POSS,
- PIIX_SATA_FLAGS = ATA_FLAG_SATA | PIIX_FLAG_CHECKINTR,
+ PIIX_PATA_FLAGS = ATA_FLAG_SLAVE_POSS |
+ ATA_FLAG_SETXFER_POLLING,
+ PIIX_SATA_FLAGS = ATA_FLAG_SATA | PIIX_FLAG_CHECKINTR |
+ ATA_FLAG_SETXFER_POLLING,

/* combined mode. if set, PATA is channel 0.
* if clear, PATA is channel 1.