* Failed to set xfermode on LITE-ON LTR-40125S
@ 2007-01-25 20:17 John Williams
2007-01-26 3:50 ` Albert Lee
0 siblings, 1 reply; 4+ messages in thread
From: John Williams @ 2007-01-25 20:17 UTC (permalink / raw)
To: linux-ide
Hello,
I just tried the libata support for PATA in kernel 2.6.20-rc5 and I got
this:
scsi1 : pata_sis
ata2.00: ATAPI, max UDMA/66
ata2.01: ATAPI, max UDMA/33
ata2.00: configured for UDMA/33
ata2.01: qc timeout (cmd 0xef)
ata2.01: failed to set xfermode (err_mask=0x4)
ata2.01: limiting speed to UDMA/25
ata2: failed to recover some devices, retrying in 5 secs
ata2.00: configured for UDMA/33
ata2.01: qc timeout (cmd 0xef)
ata2.01: failed to set xfermode (err_mask=0x4)
ata2.01: limiting speed to PIO0
ata2: failed to recover some devices, retrying in 5 secs
ata2.00: configured for UDMA/33
ata2.01: qc timeout (cmd 0xef)
ata2.01: failed to set xfermode (err_mask=0x4)
ata2.01: disabled
ata2: failed to recover some devices, retrying in 5 secs
ata2.00: failed to set xfermode (err_mask=0x40)
ata2.00: limiting speed to UDMA/25
ata2: failed to recover some devices, retrying in 5 secs
ata2.00: configured for UDMA/25
The offending device is a LITE-ON LTR-40125S CDRW attached to SIS 513
IDE (rev d0)
I found a patch here:
http://readlist.com/lists/vger.kernel.org/linux-kernel/45/228948.html
which cures the problem for me. Is this the recommended patch for this
problem? If not, I would be happy to test alternative solutions.
Thanks,
John Williams
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Failed to set xfermode on LITE-ON LTR-40125S
2007-01-25 20:17 Failed to set xfermode on LITE-ON LTR-40125S John Williams
@ 2007-01-26 3:50 ` Albert Lee
2007-01-26 8:15 ` John Williams
2007-01-26 11:33 ` Alan
0 siblings, 2 replies; 4+ messages in thread
From: Albert Lee @ 2007-01-26 3:50 UTC (permalink / raw)
To: John Williams; +Cc: linux-ide
John Williams wrote:
> Hello,
>
> I just tried the libata support for PATA in kernel 2.6.20-rc5 and I got
> this:
>
> scsi1 : pata_sis
> ata2.00: ATAPI, max UDMA/66
> ata2.01: ATAPI, max UDMA/33
> ata2.00: configured for UDMA/33
> ata2.01: qc timeout (cmd 0xef)
> ata2.01: failed to set xfermode (err_mask=0x4)
> ata2.01: limiting speed to UDMA/25
> ata2: failed to recover some devices, retrying in 5 secs
> ata2.00: configured for UDMA/33
> ata2.01: qc timeout (cmd 0xef)
> ata2.01: failed to set xfermode (err_mask=0x4)
> ata2.01: limiting speed to PIO0
> ata2: failed to recover some devices, retrying in 5 secs
> ata2.00: configured for UDMA/33
> ata2.01: qc timeout (cmd 0xef)
> ata2.01: failed to set xfermode (err_mask=0x4)
> ata2.01: disabled
> ata2: failed to recover some devices, retrying in 5 secs
> ata2.00: failed to set xfermode (err_mask=0x40)
> ata2.00: limiting speed to UDMA/25
> ata2: failed to recover some devices, retrying in 5 secs
> ata2.00: configured for UDMA/25
>
> The offending device is a LITE-ON LTR-40125S CDRW attached to SIS 513
> IDE (rev d0)
>
> I found a patch here:
> http://readlist.com/lists/vger.kernel.org/linux-kernel/45/228948.html
> which cures the problem for me. Is this the recommended patch for this
> problem? If not, I would be happy to test alternative solutions.
>
Tejun fixed the problem by ATA_FLAG_SETXFER_POLLING for pata_via.
Maybe the same fix works for pata_sis.
Could you please try the attached patch, thanks.
--
albert
--- linux-2.6.20-rc5-mod/drivers/ata/pata_sis.c~ 2007-01-23 11:47:40.000000000 +0800
+++ linux-2.6.20-rc5-mod/drivers/ata/pata_sis.c 2007-01-26 11:43:54.000000000 +0800
@@ -718,7 +718,7 @@ static const struct ata_port_operations
static struct ata_port_info sis_info = {
.sht = &sis_sht,
- .flags = ATA_FLAG_SLAVE_POSS | ATA_FLAG_SRST,
+ .flags = ATA_FLAG_SLAVE_POSS | ATA_FLAG_SRST | ATA_FLAG_SETXFER_POLLING,
.pio_mask = 0x1f, /* pio0-4 */
.mwdma_mask = 0x07,
.udma_mask = 0,
@@ -726,7 +726,7 @@ static struct ata_port_info sis_info = {
};
static struct ata_port_info sis_info33 = {
.sht = &sis_sht,
- .flags = ATA_FLAG_SLAVE_POSS | ATA_FLAG_SRST,
+ .flags = ATA_FLAG_SLAVE_POSS | ATA_FLAG_SRST | ATA_FLAG_SETXFER_POLLING,
.pio_mask = 0x1f, /* pio0-4 */
.mwdma_mask = 0x07,
.udma_mask = ATA_UDMA2, /* UDMA 33 */
@@ -734,35 +734,35 @@ static struct ata_port_info sis_info33 =
};
static struct ata_port_info sis_info66 = {
.sht = &sis_sht,
- .flags = ATA_FLAG_SLAVE_POSS | ATA_FLAG_SRST,
+ .flags = ATA_FLAG_SLAVE_POSS | ATA_FLAG_SRST | ATA_FLAG_SETXFER_POLLING,
.pio_mask = 0x1f, /* pio0-4 */
.udma_mask = ATA_UDMA4, /* UDMA 66 */
.port_ops = &sis_66_ops,
};
static struct ata_port_info sis_info100 = {
.sht = &sis_sht,
- .flags = ATA_FLAG_SLAVE_POSS | ATA_FLAG_SRST,
+ .flags = ATA_FLAG_SLAVE_POSS | ATA_FLAG_SRST | ATA_FLAG_SETXFER_POLLING,
.pio_mask = 0x1f, /* pio0-4 */
.udma_mask = ATA_UDMA5,
.port_ops = &sis_100_ops,
};
static struct ata_port_info sis_info100_early = {
.sht = &sis_sht,
- .flags = ATA_FLAG_SLAVE_POSS | ATA_FLAG_SRST,
+ .flags = ATA_FLAG_SLAVE_POSS | ATA_FLAG_SRST | ATA_FLAG_SETXFER_POLLING,
.udma_mask = ATA_UDMA5,
.pio_mask = 0x1f, /* pio0-4 */
.port_ops = &sis_66_ops,
};
static struct ata_port_info sis_info133 = {
.sht = &sis_sht,
- .flags = ATA_FLAG_SLAVE_POSS | ATA_FLAG_SRST,
+ .flags = ATA_FLAG_SLAVE_POSS | ATA_FLAG_SRST | ATA_FLAG_SETXFER_POLLING,
.pio_mask = 0x1f, /* pio0-4 */
.udma_mask = ATA_UDMA6,
.port_ops = &sis_133_ops,
};
static struct ata_port_info sis_info133_early = {
.sht = &sis_sht,
- .flags = ATA_FLAG_SLAVE_POSS | ATA_FLAG_SRST,
+ .flags = ATA_FLAG_SLAVE_POSS | ATA_FLAG_SRST | ATA_FLAG_SETXFER_POLLING,
.pio_mask = 0x1f, /* pio0-4 */
.udma_mask = ATA_UDMA6,
.port_ops = &sis_133_early_ops,
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Failed to set xfermode on LITE-ON LTR-40125S
2007-01-26 3:50 ` Albert Lee
@ 2007-01-26 8:15 ` John Williams
2007-01-26 11:33 ` Alan
1 sibling, 0 replies; 4+ messages in thread
From: John Williams @ 2007-01-26 8:15 UTC (permalink / raw)
To: albertl; +Cc: albertcc, linux-ide
On Fri, 26 Jan 2007 11:50:11 +0800
Albert Lee <albertcc@tw.ibm.com> wrote:
> John Williams wrote:
> > Hello,
> >
> > I just tried the libata support for PATA in kernel 2.6.20-rc5 and I got
> > this:
> >
> > scsi1 : pata_sis
> > ata2.00: ATAPI, max UDMA/66
> > ata2.01: ATAPI, max UDMA/33
> > ata2.00: configured for UDMA/33
> > ata2.01: qc timeout (cmd 0xef)
> > ata2.01: failed to set xfermode (err_mask=0x4)
> > ...
>
> Tejun fixed the problem by ATA_FLAG_SETXFER_POLLING for pata_via.
> Maybe the same fix works for pata_sis.
>
> Could you please try the attached patch, thanks.
> --
> albert
Yes, that fixed it.
Thanks,
John
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Failed to set xfermode on LITE-ON LTR-40125S
2007-01-26 3:50 ` Albert Lee
2007-01-26 8:15 ` John Williams
@ 2007-01-26 11:33 ` Alan
1 sibling, 0 replies; 4+ messages in thread
From: Alan @ 2007-01-26 11:33 UTC (permalink / raw)
To: albertl; +Cc: John Williams, linux-ide
> Tejun fixed the problem by ATA_FLAG_SETXFER_POLLING for pata_via.
> Maybe the same fix works for pata_sis.
>
> Could you please try the attached patch, thanks.
I wonder what is really going on here. drivers/ide has some slightly
different handling and notes about problems with some drives. The polling
SETXFER is I fear just hiding the real issue which we've seen on the VIA,
SiS and also with a weird timing fix on the sl8c205
Alan
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2007-01-26 11:21 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-01-25 20:17 Failed to set xfermode on LITE-ON LTR-40125S John Williams
2007-01-26 3:50 ` Albert Lee
2007-01-26 8:15 ` John Williams
2007-01-26 11:33 ` Alan
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).