linux-ide.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* 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).