I'm getting similare "failed to set xfermode" errors with a CDROM under 2.6.22 (ubuntu 7.10) which works fine with 2.6.20 (7.04)
kernel: [ 101.398122] ata_piix 0000:00:07.1: version 2.11
kernel: [ 101.398763] scsi0 : ata_piix
kernel: [ 101.398986] scsi1 : ata_piix
kernel: [ 101.399100] ata1: PATA max UDMA/33 cmd 0x000101f0 ctl 0x000103f6 bmdma 0x0001f000 irq 14
kernel: [ 101.399115] ata2: PATA max UDMA/33 cmd 0x00010170 ctl 0x00010376 bmdma 0x0001f008 irq 15
kernel: [ 104.698151] ata1.01: ATAPI: CDA86801ISE, F1.05000, max PIO3
kernel: [ 104.709735] ata1.01: failed to set xfermode (err_mask=0x1)
kernel: [ 104.709796] ata1: failed to recover some devices, retrying in 5 secs
kernel: [ 110.059836] ata1.01: failed to set xfermode (err_mask=0x1)
kernel: [ 110.059901] ata1.01: limiting speed to PIO2
kernel: [ 110.059910] ata1: failed to recover some devices, retrying in 5 secs
kernel: [ 115.410372] ata1.01: failed to set xfermode (err_mask=0x1)
kernel: [ 115.410427] ata1.01: disabled
kernel: [ 116.078919] ata2.00: ATA-6: SAMSUNG SV4084H, PM100-22, max UDMA/100
kernel: [ 116.078935] ata2.00: 79730784 sectors, multi 0: LBA
kernel: [ 116.086822] ata2.00: configured for UDMA/33
Obviously, this may not be related. Naturally the 'irqpoll' fix doesn't help because it's finding the controller and drive and just failing to configure it.
I'm getting similare "failed to set xfermode" errors with a CDROM under 2.6.22 (ubuntu 7.10) which works fine with 2.6.20 (7.04)
kernel: [ 101.398122] ata_piix 0000:00:07.1: version 2.11
kernel: [ 101.398763] scsi0 : ata_piix
kernel: [ 101.398986] scsi1 : ata_piix
kernel: [ 101.399100] ata1: PATA max UDMA/33 cmd 0x000101f0 ctl 0x000103f6 bmdma 0x0001f000 irq 14
kernel: [ 101.399115] ata2: PATA max UDMA/33 cmd 0x00010170 ctl 0x00010376 bmdma 0x0001f008 irq 15
kernel: [ 104.698151] ata1.01: ATAPI: CDA86801ISE, F1.05000, max PIO3
kernel: [ 104.709735] ata1.01: failed to set xfermode (err_mask=0x1)
kernel: [ 104.709796] ata1: failed to recover some devices, retrying in 5 secs
kernel: [ 110.059836] ata1.01: failed to set xfermode (err_mask=0x1)
kernel: [ 110.059901] ata1.01: limiting speed to PIO2
kernel: [ 110.059910] ata1: failed to recover some devices, retrying in 5 secs
kernel: [ 115.410372] ata1.01: failed to set xfermode (err_mask=0x1)
kernel: [ 115.410427] ata1.01: disabled
kernel: [ 116.078919] ata2.00: ATA-6: SAMSUNG SV4084H, PM100-22, max UDMA/100
kernel: [ 116.078935] ata2.00: 79730784 sectors, multi 0: LBA
kernel: [ 116.086822] ata2.00: configured for UDMA/33
Obviously, this may not be related. Naturally the 'irqpoll' fix doesn't help because it's finding the controller and drive and just failing to configure it.