* HSM violations from ATA PACKET cmd ABRT errors in initial comms with LG GH22 SATA DVDRW
@ 2009-12-27 20:37 thomas schorpp
2009-12-27 21:43 ` Robert Hancock
0 siblings, 1 reply; 13+ messages in thread
From: thomas schorpp @ 2009-12-27 20:37 UTC (permalink / raw)
To: linux-ide
LG GH22NS40 NL01 (possibly Renesas chipset)
VIA8237 SATA (produces basically same errors), Promise SATA II 150 20579 HBAs.
Linux 2.6.32.2
hal polling
devkit polling
wodim
growisofs
port_status 0x20280000 (Data Transfer Overrun Error & Target Device Fault)?
Looks like a hardware combination incompatibility.
Most applicable ATA_HORKAGES in sourcecode already tried.
Not found the sense code yet since FEATURE specific according to T13/1410D revision 3b.
Comments?
y
tom
dmesg |grep -A 10 ata
sata_promise 0000:00:0d.0: PCI INT A -> GSI 17 (level, low) -> IRQ 17
scsi5 : sata_promise
scsi6 : sata_promise
scsi7 : sata_promise
ata6: SATA max UDMA/133 mmio m4096@0xfbefe000 ata 0xfbefe200 irq 17
ata7: SATA max UDMA/133 mmio m4096@0xfbefe000 ata 0xfbefe280 irq 17
ata8: PATA max UDMA/133 mmio m4096@0xfbefe000 ata 0xfbefe300 irq 17
ata6: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
ata6.00: ATAPI: HL-DT-ST DVDRAM GH22NS40, NL01, max UDMA/100
ata6.00: configured for UDMA/100
scsi 5:0:0:0: CD-ROM HL-DT-ST DVDRAM GH22NS40 NL01 PQ: 0 ANSI: 5
sr0: scsi3-mmc drive: 125x/125x writer dvd-ram cd/rw xa/form2 cdda tray
sr 5:0:0:0: Attached scsi CD-ROM sr0
sr 5:0:0:0: Attached scsi generic sg2 type 5
ata7: SATA link down (SStatus 0 SControl 300)
ata6.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x6
ata6.00: port_status 0x20280000
sr 5:0:0:0: [sr0] CDB: cdb[0]=0x28: 28 00 00 00 00 00 00 00 40 00
ata6.00: cmd a0/01:00:00:00:fc/00:00:00:00:00/a0 tag 0 dma 131072 in
res 51/54:03:00:00:fc/00:00:00:00:00/e0 Emask 0x2 (HSM violation)
ata6.00: status: { DRDY ERR }
ata6: hard resetting link
ata6: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
ata6.00: configured for UDMA/100
ata6: EH complete
...
<period, ~10 times in series>
...
ata6.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x6
ata6.00: port_status 0x20280000
sr 5:0:0:0: [sr0] CDB: cdb[0]=0x28: 28 00 00 00 00 00 00 00 02 00
ata6.00: cmd a0/01:00:00:00:10/00:00:00:00:00/a0 tag 0 dma 4096 in
res 51/54:03:00:00:10/00:00:00:00:00/e0 Emask 0x2 (HSM violation)
ata6.00: status: { DRDY ERR }
ata6: hard resetting link
ata6: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
ata6.00: configured for UDMA/100
ata6: EH complete
ata6.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x6
ata6.00: port_status 0x20280000
sr 5:0:0:0: [sr0] CDB: cdb[0]=0x28: 28 00 00 00 00 00 00 00 02 00
ata6.00: cmd a0/01:00:00:00:10/00:00:00:00:00/a0 tag 0 dma 4096 in
res 51/54:03:00:00:10/00:00:00:00:00/e0 Emask 0x2 (HSM violation)
ata6.00: status: { DRDY ERR }
ata6: hard resetting link
ata6: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
ata6.00: configured for UDMA/100
ata6: EH complete
ata6.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x6
ata6.00: port_status 0x20280000
sr 5:0:0:0: [sr0] CDB: cdb[0]=0x28: 28 00 00 00 00 00 00 00 02 00
ata6.00: cmd a0/01:00:00:00:10/00:00:00:00:00/a0 tag 0 dma 4096 in
res 51/54:03:00:00:10/00:00:00:00:00/e0 Emask 0x2 (HSM violation)
ata6.00: status: { DRDY ERR }
ata6: hard resetting link
ata6: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
ata6.00: configured for UDMA/100
sr 5:0:0:0: [sr0] Result: hostbyte=0x00 driverbyte=0x08
sr 5:0:0:0: [sr0] Sense Key : 0x5 [current]
Info fld=0x0
sr 5:0:0:0: [sr0] ASC=0x21 ASCQ=0x0
sr 5:0:0:0: [sr0] CDB: cdb[0]=0x28: 28 00 00 00 00 00 00 00 02 00
end_request: I/O error, dev sr0, sector 0
Buffer I/O error on device sr0, logical block 0
Buffer I/O error on device sr0, logical block 1
ata6: EH complete
^ permalink raw reply [flat|nested] 13+ messages in thread* Re: HSM violations from ATA PACKET cmd ABRT errors in initial comms with LG GH22 SATA DVDRW 2009-12-27 20:37 HSM violations from ATA PACKET cmd ABRT errors in initial comms with LG GH22 SATA DVDRW thomas schorpp @ 2009-12-27 21:43 ` Robert Hancock 2009-12-28 23:44 ` Mikael Pettersson 0 siblings, 1 reply; 13+ messages in thread From: Robert Hancock @ 2009-12-27 21:43 UTC (permalink / raw) To: thomas.schorpp; +Cc: thomas schorpp, linux-ide, Mikael Pettersson On 12/27/2009 02:37 PM, thomas schorpp wrote: > LG GH22NS40 NL01 (possibly Renesas chipset) > VIA8237 SATA (produces basically same errors), Promise SATA II 150 20579 > HBAs. > > Linux 2.6.32.2 > hal polling > devkit polling > wodim > growisofs > > port_status 0x20280000 (Data Transfer Overrun Error & Target Device Fault)? > > Looks like a hardware combination incompatibility. > Most applicable ATA_HORKAGES in sourcecode already tried. > > Not found the sense code yet since FEATURE specific according to > T13/1410D revision 3b. > > Comments? > > y > tom > > dmesg |grep -A 10 ata > > sata_promise 0000:00:0d.0: PCI INT A -> GSI 17 (level, low) -> IRQ 17 > scsi5 : sata_promise > scsi6 : sata_promise > scsi7 : sata_promise > ata6: SATA max UDMA/133 mmio m4096@0xfbefe000 ata 0xfbefe200 irq 17 > ata7: SATA max UDMA/133 mmio m4096@0xfbefe000 ata 0xfbefe280 irq 17 > ata8: PATA max UDMA/133 mmio m4096@0xfbefe000 ata 0xfbefe300 irq 17 > ata6: SATA link up 1.5 Gbps (SStatus 113 SControl 300) > ata6.00: ATAPI: HL-DT-ST DVDRAM GH22NS40, NL01, max UDMA/100 > ata6.00: configured for UDMA/100 > scsi 5:0:0:0: CD-ROM HL-DT-ST DVDRAM GH22NS40 NL01 PQ: 0 ANSI: 5 > sr0: scsi3-mmc drive: 125x/125x writer dvd-ram cd/rw xa/form2 cdda tray > sr 5:0:0:0: Attached scsi CD-ROM sr0 > sr 5:0:0:0: Attached scsi generic sg2 type 5 > ata7: SATA link down (SStatus 0 SControl 300) > ata6.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x6 > ata6.00: port_status 0x20280000 > sr 5:0:0:0: [sr0] CDB: cdb[0]=0x28: 28 00 00 00 00 00 00 00 40 00 > ata6.00: cmd a0/01:00:00:00:fc/00:00:00:00:00/a0 tag 0 dma 131072 in > res 51/54:03:00:00:fc/00:00:00:00:00/e0 Emask 0x2 (HSM violation) > ata6.00: status: { DRDY ERR } > ata6: hard resetting link > ata6: SATA link up 1.5 Gbps (SStatus 113 SControl 300) > ata6.00: configured for UDMA/100 > ata6: EH complete > ... > <period, ~10 times in series> > ... > ata6.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x6 > ata6.00: port_status 0x20280000 > sr 5:0:0:0: [sr0] CDB: cdb[0]=0x28: 28 00 00 00 00 00 00 00 02 00 > ata6.00: cmd a0/01:00:00:00:10/00:00:00:00:00/a0 tag 0 dma 4096 in > res 51/54:03:00:00:10/00:00:00:00:00/e0 Emask 0x2 (HSM violation) > ata6.00: status: { DRDY ERR } > ata6: hard resetting link > ata6: SATA link up 1.5 Gbps (SStatus 113 SControl 300) > ata6.00: configured for UDMA/100 > ata6: EH complete > ata6.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x6 > ata6.00: port_status 0x20280000 > sr 5:0:0:0: [sr0] CDB: cdb[0]=0x28: 28 00 00 00 00 00 00 00 02 00 > ata6.00: cmd a0/01:00:00:00:10/00:00:00:00:00/a0 tag 0 dma 4096 in > res 51/54:03:00:00:10/00:00:00:00:00/e0 Emask 0x2 (HSM violation) > ata6.00: status: { DRDY ERR } > ata6: hard resetting link > ata6: SATA link up 1.5 Gbps (SStatus 113 SControl 300) > ata6.00: configured for UDMA/100 > ata6: EH complete > ata6.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x6 > ata6.00: port_status 0x20280000 > sr 5:0:0:0: [sr0] CDB: cdb[0]=0x28: 28 00 00 00 00 00 00 00 02 00 > ata6.00: cmd a0/01:00:00:00:10/00:00:00:00:00/a0 tag 0 dma 4096 in > res 51/54:03:00:00:10/00:00:00:00:00/e0 Emask 0x2 (HSM violation) > ata6.00: status: { DRDY ERR } > ata6: hard resetting link > ata6: SATA link up 1.5 Gbps (SStatus 113 SControl 300) > ata6.00: configured for UDMA/100 > sr 5:0:0:0: [sr0] Result: hostbyte=0x00 driverbyte=0x08 > sr 5:0:0:0: [sr0] Sense Key : 0x5 [current] Info fld=0x0 > sr 5:0:0:0: [sr0] ASC=0x21 ASCQ=0x0 > sr 5:0:0:0: [sr0] CDB: cdb[0]=0x28: 28 00 00 00 00 00 00 00 02 00 Well, it's a READ command, and the response is "LOGICAL BLOCK ADDRESS OUT OF RANGE". Seems reasonable if it's a blank disc in the drive (is it?) According to the code comments in sata_promise, "overrun error" means the S/G byte count was larger than the drive requires. Which I suppose would happen here, because the drive didn't actually transfer any data. sata_promise raises an HSM error on that though which triggers resets and such. Seems like an overreaction, for ATAPI commands anyway, as that can happen normally. CCing Mikael. What were the errors you were seeing on the VIA controller? ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: HSM violations from ATA PACKET cmd ABRT errors in initial comms with LG GH22 SATA DVDRW 2009-12-27 21:43 ` Robert Hancock @ 2009-12-28 23:44 ` Mikael Pettersson 2009-12-29 9:06 ` thomas schorpp ` (3 more replies) 0 siblings, 4 replies; 13+ messages in thread From: Mikael Pettersson @ 2009-12-28 23:44 UTC (permalink / raw) To: Robert Hancock Cc: thomas.schorpp, thomas schorpp, linux-ide, Mikael Pettersson Robert Hancock writes: > On 12/27/2009 02:37 PM, thomas schorpp wrote: > > LG GH22NS40 NL01 (possibly Renesas chipset) > > VIA8237 SATA (produces basically same errors), Promise SATA II 150 20579 > > HBAs. > > > > Linux 2.6.32.2 > > hal polling > > devkit polling > > wodim > > growisofs > > > > port_status 0x20280000 (Data Transfer Overrun Error & Target Device Fault)? > > > > Looks like a hardware combination incompatibility. > > Most applicable ATA_HORKAGES in sourcecode already tried. > > > > Not found the sense code yet since FEATURE specific according to > > T13/1410D revision 3b. > > > > Comments? > > > > y > > tom > > > > dmesg |grep -A 10 ata > > > > sata_promise 0000:00:0d.0: PCI INT A -> GSI 17 (level, low) -> IRQ 17 > > scsi5 : sata_promise > > scsi6 : sata_promise > > scsi7 : sata_promise > > ata6: SATA max UDMA/133 mmio m4096@0xfbefe000 ata 0xfbefe200 irq 17 > > ata7: SATA max UDMA/133 mmio m4096@0xfbefe000 ata 0xfbefe280 irq 17 > > ata8: PATA max UDMA/133 mmio m4096@0xfbefe000 ata 0xfbefe300 irq 17 > > ata6: SATA link up 1.5 Gbps (SStatus 113 SControl 300) > > ata6.00: ATAPI: HL-DT-ST DVDRAM GH22NS40, NL01, max UDMA/100 > > ata6.00: configured for UDMA/100 > > scsi 5:0:0:0: CD-ROM HL-DT-ST DVDRAM GH22NS40 NL01 PQ: 0 ANSI: 5 > > sr0: scsi3-mmc drive: 125x/125x writer dvd-ram cd/rw xa/form2 cdda tray > > sr 5:0:0:0: Attached scsi CD-ROM sr0 > > sr 5:0:0:0: Attached scsi generic sg2 type 5 > > ata7: SATA link down (SStatus 0 SControl 300) > > ata6.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x6 > > ata6.00: port_status 0x20280000 > > sr 5:0:0:0: [sr0] CDB: cdb[0]=0x28: 28 00 00 00 00 00 00 00 40 00 > > ata6.00: cmd a0/01:00:00:00:fc/00:00:00:00:00/a0 tag 0 dma 131072 in > > res 51/54:03:00:00:fc/00:00:00:00:00/e0 Emask 0x2 (HSM violation) > > ata6.00: status: { DRDY ERR } > > ata6: hard resetting link > > ata6: SATA link up 1.5 Gbps (SStatus 113 SControl 300) > > ata6.00: configured for UDMA/100 > > ata6: EH complete > > ... > > <period, ~10 times in series> > > ... > > ata6.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x6 > > ata6.00: port_status 0x20280000 > > sr 5:0:0:0: [sr0] CDB: cdb[0]=0x28: 28 00 00 00 00 00 00 00 02 00 > > ata6.00: cmd a0/01:00:00:00:10/00:00:00:00:00/a0 tag 0 dma 4096 in > > res 51/54:03:00:00:10/00:00:00:00:00/e0 Emask 0x2 (HSM violation) > > ata6.00: status: { DRDY ERR } > > ata6: hard resetting link > > ata6: SATA link up 1.5 Gbps (SStatus 113 SControl 300) > > ata6.00: configured for UDMA/100 > > ata6: EH complete > > ata6.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x6 > > ata6.00: port_status 0x20280000 > > sr 5:0:0:0: [sr0] CDB: cdb[0]=0x28: 28 00 00 00 00 00 00 00 02 00 > > ata6.00: cmd a0/01:00:00:00:10/00:00:00:00:00/a0 tag 0 dma 4096 in > > res 51/54:03:00:00:10/00:00:00:00:00/e0 Emask 0x2 (HSM violation) > > ata6.00: status: { DRDY ERR } > > ata6: hard resetting link > > ata6: SATA link up 1.5 Gbps (SStatus 113 SControl 300) > > ata6.00: configured for UDMA/100 > > ata6: EH complete > > ata6.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x6 > > ata6.00: port_status 0x20280000 > > sr 5:0:0:0: [sr0] CDB: cdb[0]=0x28: 28 00 00 00 00 00 00 00 02 00 > > ata6.00: cmd a0/01:00:00:00:10/00:00:00:00:00/a0 tag 0 dma 4096 in > > res 51/54:03:00:00:10/00:00:00:00:00/e0 Emask 0x2 (HSM violation) > > ata6.00: status: { DRDY ERR } > > ata6: hard resetting link > > ata6: SATA link up 1.5 Gbps (SStatus 113 SControl 300) > > ata6.00: configured for UDMA/100 > > sr 5:0:0:0: [sr0] Result: hostbyte=0x00 driverbyte=0x08 > > sr 5:0:0:0: [sr0] Sense Key : 0x5 [current] Info fld=0x0 > > sr 5:0:0:0: [sr0] ASC=0x21 ASCQ=0x0 > > sr 5:0:0:0: [sr0] CDB: cdb[0]=0x28: 28 00 00 00 00 00 00 00 02 00 > > Well, it's a READ command, and the response is "LOGICAL BLOCK ADDRESS > OUT OF RANGE". Seems reasonable if it's a blank disc in the drive (is it?) > > According to the code comments in sata_promise, "overrun error" means > the S/G byte count was larger than the drive requires. Which I suppose > would happen here, because the drive didn't actually transfer any data. > sata_promise raises an HSM error on that though which triggers resets > and such. Seems like an overreaction, for ATAPI commands anyway, as that > can happen normally. CCing Mikael. Thanks for the report. I'll try to come up with a patch to reduce the severity of overruns to something less than HSM. > What were the errors you were seeing on the VIA controller? I'd like to see that too. /Mikael ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: HSM violations from ATA PACKET cmd ABRT errors in initial comms with LG GH22 SATA DVDRW 2009-12-28 23:44 ` Mikael Pettersson @ 2009-12-29 9:06 ` thomas schorpp 2009-12-30 22:40 ` thomas schorpp ` (2 subsequent siblings) 3 siblings, 0 replies; 13+ messages in thread From: thomas schorpp @ 2009-12-29 9:06 UTC (permalink / raw) To: Mikael Pettersson; +Cc: Robert Hancock, linux-ide Mikael Pettersson wrote: > Robert Hancock writes: > > On 12/27/2009 02:37 PM, thomas schorpp wrote: > > > LG GH22NS40 NL01 (possibly Renesas chipset) > > > VIA8237 SATA (produces basically same errors), Promise SATA II 150 20579 > > > HBAs. > > > > > > Linux 2.6.32.2 > > > hal polling > > > devkit polling > > > wodim > > > growisofs > > > > > > port_status 0x20280000 (Data Transfer Overrun Error & Target Device Fault)? > > > > > > Looks like a hardware combination incompatibility. > > > Most applicable ATA_HORKAGES in sourcecode already tried. > > > > > > Not found the sense code yet since FEATURE specific according to > > > T13/1410D revision 3b. > > > > > > Comments? > > > > > > y > > > tom > > > > > > dmesg |grep -A 10 ata > > > > > > sata_promise 0000:00:0d.0: PCI INT A -> GSI 17 (level, low) -> IRQ 17 > > > scsi5 : sata_promise > > > scsi6 : sata_promise > > > scsi7 : sata_promise > > > ata6: SATA max UDMA/133 mmio m4096@0xfbefe000 ata 0xfbefe200 irq 17 > > > ata7: SATA max UDMA/133 mmio m4096@0xfbefe000 ata 0xfbefe280 irq 17 > > > ata8: PATA max UDMA/133 mmio m4096@0xfbefe000 ata 0xfbefe300 irq 17 > > > ata6: SATA link up 1.5 Gbps (SStatus 113 SControl 300) > > > ata6.00: ATAPI: HL-DT-ST DVDRAM GH22NS40, NL01, max UDMA/100 > > > ata6.00: configured for UDMA/100 > > > scsi 5:0:0:0: CD-ROM HL-DT-ST DVDRAM GH22NS40 NL01 PQ: 0 ANSI: 5 > > > sr0: scsi3-mmc drive: 125x/125x writer dvd-ram cd/rw xa/form2 cdda tray > > > sr 5:0:0:0: Attached scsi CD-ROM sr0 > > > sr 5:0:0:0: Attached scsi generic sg2 type 5 > > > ata7: SATA link down (SStatus 0 SControl 300) > > > ata6.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x6 > > > ata6.00: port_status 0x20280000 > > > sr 5:0:0:0: [sr0] CDB: cdb[0]=0x28: 28 00 00 00 00 00 00 00 40 00 > > > ata6.00: cmd a0/01:00:00:00:fc/00:00:00:00:00/a0 tag 0 dma 131072 in > > > res 51/54:03:00:00:fc/00:00:00:00:00/e0 Emask 0x2 (HSM violation) > > > ata6.00: status: { DRDY ERR } > > > ata6: hard resetting link > > > ata6: SATA link up 1.5 Gbps (SStatus 113 SControl 300) > > > ata6.00: configured for UDMA/100 > > > ata6: EH complete > > > ... > > > <period, ~10 times in series> > > > ... > > > ata6.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x6 > > > ata6.00: port_status 0x20280000 > > > sr 5:0:0:0: [sr0] CDB: cdb[0]=0x28: 28 00 00 00 00 00 00 00 02 00 > > > ata6.00: cmd a0/01:00:00:00:10/00:00:00:00:00/a0 tag 0 dma 4096 in > > > res 51/54:03:00:00:10/00:00:00:00:00/e0 Emask 0x2 (HSM violation) > > > ata6.00: status: { DRDY ERR } > > > ata6: hard resetting link > > > ata6: SATA link up 1.5 Gbps (SStatus 113 SControl 300) > > > ata6.00: configured for UDMA/100 > > > ata6: EH complete > > > ata6.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x6 > > > ata6.00: port_status 0x20280000 > > > sr 5:0:0:0: [sr0] CDB: cdb[0]=0x28: 28 00 00 00 00 00 00 00 02 00 > > > ata6.00: cmd a0/01:00:00:00:10/00:00:00:00:00/a0 tag 0 dma 4096 in > > > res 51/54:03:00:00:10/00:00:00:00:00/e0 Emask 0x2 (HSM violation) > > > ata6.00: status: { DRDY ERR } > > > ata6: hard resetting link > > > ata6: SATA link up 1.5 Gbps (SStatus 113 SControl 300) > > > ata6.00: configured for UDMA/100 > > > ata6: EH complete > > > ata6.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x6 > > > ata6.00: port_status 0x20280000 > > > sr 5:0:0:0: [sr0] CDB: cdb[0]=0x28: 28 00 00 00 00 00 00 00 02 00 > > > ata6.00: cmd a0/01:00:00:00:10/00:00:00:00:00/a0 tag 0 dma 4096 in > > > res 51/54:03:00:00:10/00:00:00:00:00/e0 Emask 0x2 (HSM violation) > > > ata6.00: status: { DRDY ERR } > > > ata6: hard resetting link > > > ata6: SATA link up 1.5 Gbps (SStatus 113 SControl 300) > > > ata6.00: configured for UDMA/100 > > > sr 5:0:0:0: [sr0] Result: hostbyte=0x00 driverbyte=0x08 > > > sr 5:0:0:0: [sr0] Sense Key : 0x5 [current] Info fld=0x0 > > > sr 5:0:0:0: [sr0] ASC=0x21 ASCQ=0x0 > > > sr 5:0:0:0: [sr0] CDB: cdb[0]=0x28: 28 00 00 00 00 00 00 00 02 00 > > > > Well, it's a READ command, and the response is "LOGICAL BLOCK ADDRESS > > OUT OF RANGE". Seems reasonable if it's a blank disc in the drive (is it?) > > > > According to the code comments in sata_promise, "overrun error" means > > the S/G byte count was larger than the drive requires. Which I suppose > > would happen here, because the drive didn't actually transfer any data. > > sata_promise raises an HSM error on that though which triggers resets > > and such. Seems like an overreaction, for ATAPI commands anyway, as that > > can happen normally. CCing Mikael. > > Thanks for the report. I'll try to come up with a patch to reduce > the severity of overruns to something less than HSM. > > > What were the errors you were seeing on the VIA controller? > > I'd like to see that too. Many thanks for the fast service ;-) , but all VIA HBA SATA ports are in use now by 2 hdd's, I will connect the LG GH22 this evening (> 1800 UTC) and report. If of any worth for You here is a dmesg from kernel version 2.6.29.3 using the (00:11.0 ISA bridge: VIA Technologies, Inc. VT8237 ISA bridge [KT600/K8T800/K8T890 South]) 00:0f.0 IDE interface: VIA Technologies, Inc. VIA VT6420 SATA RAID Controller (rev 80): dmesg |grep ata6 (Sorry, forgot -A, didn't noticed not all messages are printk'd with 'ata' in the line) ata6: SATA max UDMA/133 mmio m4096@0xfbefe000 ata 0xfbefe200 irq 17 ata6: SATA link up 1.5 Gbps (SStatus 113 SControl 300) ata6.00: ATAPI: HL-DT-ST DVDRAM GH22NS40, NL01, max UDMA/100 ata6.00: configured for UDMA/100 ata6: exception Emask 0x10 SAct 0x0 SErr 0x0 action 0xf t4 ata6: hotplug_status 0x10 ata6: hard resetting link ata6: SATA link up 1.5 Gbps (SStatus 113 SControl 300) ata6.00: configured for UDMA/100 ata6: limiting SATA link speed to 1.5 Gbps ata6: exception Emask 0x10 SAct 0x0 SErr 0x0 action 0xf t3 ata6: hotplug_status 0x10 ata6: hard resetting link ata6: SATA link up 1.5 Gbps (SStatus 113 SControl 310) ata6.00: configured for UDMA/100 ata6.00: limiting speed to UDMA/66:PIO4 ata6: exception Emask 0x10 SAct 0x0 SErr 0x0 action 0xf t2 ata6: hotplug_status 0x11 ata6: hard resetting link ata6: SATA link up 1.5 Gbps (SStatus 113 SControl 310) ata6.00: configured for UDMA/66 ata6.00: limiting speed to UDMA/33:PIO4 ata6: exception Emask 0x10 SAct 0x0 SErr 0x0 action 0xf t1 ata6: hotplug_status 0x11 ata6: hard resetting link ata6: SATA link up 1.5 Gbps (SStatus 113 SControl 310) ata6.00: configured for UDMA/33 ata6: EH pending after 5 tries, giving up ata6: EH complete ata6.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x6 ata6.00: port_status 0x20280000 ata6.00: cmd a0/01:00:00:00:08/00:00:00:00:00/a0 tag 0 dma 2048 in ata6.00: status: { DRDY ERR } ata6: hard resetting link ata6: SATA link up 1.5 Gbps (SStatus 113 SControl 310) ata6.00: configured for UDMA/33 ata6: EH complete ata6.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x6 ata6.00: port_status 0x20280000 ata6.00: cmd a0/01:00:00:00:08/00:00:00:00:00/a0 tag 0 dma 2048 in ata6.00: status: { DRDY ERR } ata6: hard resetting link ata6: SATA link up 1.5 Gbps (SStatus 113 SControl 310) ata6.00: configured for UDMA/33 ata6.00: limiting speed to PIO4 ata6: exception Emask 0x10 SAct 0x0 SErr 0x0 action 0xf t4 ata6: hotplug_status 0x11 ata6: hard resetting link ata6: SATA link up 1.5 Gbps (SStatus 113 SControl 310) ata6.00: configured for PIO4 ata6.00: limiting speed to PIO3 ata6: exception Emask 0x10 SAct 0x0 SErr 0x0 action 0xf t3 ata6: hotplug_status 0x11 ata6: hard resetting link ata6: SATA link up 1.5 Gbps (SStatus 113 SControl 310) ata6.00: configured for PIO3 ata6.00: limiting speed to PIO0 ata6: exception Emask 0x10 SAct 0x0 SErr 0x0 action 0xf t2 ata6: hotplug_status 0x11 ata6: hard resetting link ata6: SATA link up 1.5 Gbps (SStatus 113 SControl 310) ata6.00: configured for PIO0 ata6: exception Emask 0x10 SAct 0x0 SErr 0x0 action 0xf t1 ata6: hotplug_status 0x10 ata6: hard resetting link ata6: SATA link up 1.5 Gbps (SStatus 113 SControl 310) ata6.00: configured for PIO0 ata6: EH pending after 5 tries, giving up ata6: EH complete ata6.00: disabled ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: HSM violations from ATA PACKET cmd ABRT errors in initial comms with LG GH22 SATA DVDRW 2009-12-28 23:44 ` Mikael Pettersson 2009-12-29 9:06 ` thomas schorpp @ 2009-12-30 22:40 ` thomas schorpp 2009-12-31 11:55 ` thomas schorpp 2010-01-03 21:36 ` Mikael Pettersson 3 siblings, 0 replies; 13+ messages in thread From: thomas schorpp @ 2009-12-30 22:40 UTC (permalink / raw) To: Mikael Pettersson; +Cc: Robert Hancock, linux-ide Mikael Pettersson wrote: > Robert Hancock writes: > > On 12/27/2009 02:37 PM, thomas schorpp wrote: > > > LG GH22NS40 NL01 (possibly Renesas chipset) > > > VIA8237 SATA (produces basically same errors), Promise SATA II 150 20579 > > > HBAs. > > > > > > Linux 2.6.32.2 > > > hal polling > > > devkit polling > > > wodim > > > growisofs > > > > > > port_status 0x20280000 (Data Transfer Overrun Error & Target Device Fault)? > > > > > > Looks like a hardware combination incompatibility. > > > Most applicable ATA_HORKAGES in sourcecode already tried. > > > > > > Not found the sense code yet since FEATURE specific according to > > > T13/1410D revision 3b. > > > > > > Comments? > > > > > > y > > > tom > > > > > > dmesg |grep -A 10 ata > > > > > > sata_promise 0000:00:0d.0: PCI INT A -> GSI 17 (level, low) -> IRQ 17 > > > scsi5 : sata_promise > > > scsi6 : sata_promise > > > scsi7 : sata_promise > > > ata6: SATA max UDMA/133 mmio m4096@0xfbefe000 ata 0xfbefe200 irq 17 > > > ata7: SATA max UDMA/133 mmio m4096@0xfbefe000 ata 0xfbefe280 irq 17 > > > ata8: PATA max UDMA/133 mmio m4096@0xfbefe000 ata 0xfbefe300 irq 17 > > > ata6: SATA link up 1.5 Gbps (SStatus 113 SControl 300) > > > ata6.00: ATAPI: HL-DT-ST DVDRAM GH22NS40, NL01, max UDMA/100 > > > ata6.00: configured for UDMA/100 > > > scsi 5:0:0:0: CD-ROM HL-DT-ST DVDRAM GH22NS40 NL01 PQ: 0 ANSI: 5 > > > sr0: scsi3-mmc drive: 125x/125x writer dvd-ram cd/rw xa/form2 cdda tray > > > sr 5:0:0:0: Attached scsi CD-ROM sr0 > > > sr 5:0:0:0: Attached scsi generic sg2 type 5 > > > ata7: SATA link down (SStatus 0 SControl 300) > > > ata6.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x6 > > > ata6.00: port_status 0x20280000 > > > sr 5:0:0:0: [sr0] CDB: cdb[0]=0x28: 28 00 00 00 00 00 00 00 40 00 > > > ata6.00: cmd a0/01:00:00:00:fc/00:00:00:00:00/a0 tag 0 dma 131072 in > > > res 51/54:03:00:00:fc/00:00:00:00:00/e0 Emask 0x2 (HSM violation) > > > ata6.00: status: { DRDY ERR } > > > ata6: hard resetting link > > > ata6: SATA link up 1.5 Gbps (SStatus 113 SControl 300) > > > ata6.00: configured for UDMA/100 > > > ata6: EH complete > > > ... > > > <period, ~10 times in series> > > > ... > > > ata6.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x6 > > > ata6.00: port_status 0x20280000 > > > sr 5:0:0:0: [sr0] CDB: cdb[0]=0x28: 28 00 00 00 00 00 00 00 02 00 > > > ata6.00: cmd a0/01:00:00:00:10/00:00:00:00:00/a0 tag 0 dma 4096 in > > > res 51/54:03:00:00:10/00:00:00:00:00/e0 Emask 0x2 (HSM violation) > > > ata6.00: status: { DRDY ERR } > > > ata6: hard resetting link > > > ata6: SATA link up 1.5 Gbps (SStatus 113 SControl 300) > > > ata6.00: configured for UDMA/100 > > > ata6: EH complete > > > ata6.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x6 > > > ata6.00: port_status 0x20280000 > > > sr 5:0:0:0: [sr0] CDB: cdb[0]=0x28: 28 00 00 00 00 00 00 00 02 00 > > > ata6.00: cmd a0/01:00:00:00:10/00:00:00:00:00/a0 tag 0 dma 4096 in > > > res 51/54:03:00:00:10/00:00:00:00:00/e0 Emask 0x2 (HSM violation) > > > ata6.00: status: { DRDY ERR } > > > ata6: hard resetting link > > > ata6: SATA link up 1.5 Gbps (SStatus 113 SControl 300) > > > ata6.00: configured for UDMA/100 > > > ata6: EH complete > > > ata6.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x6 > > > ata6.00: port_status 0x20280000 > > > sr 5:0:0:0: [sr0] CDB: cdb[0]=0x28: 28 00 00 00 00 00 00 00 02 00 > > > ata6.00: cmd a0/01:00:00:00:10/00:00:00:00:00/a0 tag 0 dma 4096 in > > > res 51/54:03:00:00:10/00:00:00:00:00/e0 Emask 0x2 (HSM violation) > > > ata6.00: status: { DRDY ERR } > > > ata6: hard resetting link > > > ata6: SATA link up 1.5 Gbps (SStatus 113 SControl 300) > > > ata6.00: configured for UDMA/100 > > > sr 5:0:0:0: [sr0] Result: hostbyte=0x00 driverbyte=0x08 > > > sr 5:0:0:0: [sr0] Sense Key : 0x5 [current] Info fld=0x0 > > > sr 5:0:0:0: [sr0] ASC=0x21 ASCQ=0x0 > > > sr 5:0:0:0: [sr0] CDB: cdb[0]=0x28: 28 00 00 00 00 00 00 00 02 00 > > > > Well, it's a READ command, and the response is "LOGICAL BLOCK ADDRESS > > OUT OF RANGE". Seems reasonable if it's a blank disc in the drive (is it?) > > > > According to the code comments in sata_promise, "overrun error" means > > the S/G byte count was larger than the drive requires. Which I suppose > > would happen here, because the drive didn't actually transfer any data. > > sata_promise raises an HSM error on that though which triggers resets > > and such. Seems like an overreaction, for ATAPI commands anyway, as that > > can happen normally. CCing Mikael. > > Thanks for the report. I'll try to come up with a patch to reduce > the severity of overruns to something less than HSM. > > > What were the errors you were seeing on the VIA controller? > > I'd like to see that too. No such HSM error messages or any EH invocation with the sata-via on 2.6.32.2 :-) Nor on growisofs startup or dvdrw drive servo failure like it occured with sata-promise. Hot-swapped drives: ... ata2: link is slow to respond, please be patient (ready=0) ata2: soft resetting link ata2: link is slow to respond, please be patient (ready=0) ata2: SRST failed (errno=-16) ata2: soft resetting link ata2: link is slow to respond, please be patient (ready=0) ata3: exception Emask 0x10 SAct 0x0 SErr 0x180000 action 0xe frozen ata3: hotplug_status 0x1 ata3: SError: { 10B8B Dispar } ata3: hard resetting link ata2: SRST failed (errno=-16) ata2: soft resetting link ata3: SATA link down (SStatus 0 SControl 300) ata2: link is slow to respond, please be patient (ready=0) ata3: hard resetting link ata3: SATA link down (SStatus 0 SControl 300) ata3: limiting SATA link speed to 1.5 Gbps ata3: hard resetting link ata3: SATA link down (SStatus 0 SControl 310) ata3.00: disabled ata3: EH complete ata3.00: detaching (SCSI 2:0:0:0) ata2.00: class mismatch 1 != 3 ata2.00: revalidation failed (errno=-19) ata2: soft resetting link ata2.00: class mismatch 1 != 3 ata2.00: revalidation failed (errno=-19) ata2.00: disabled ata2: soft resetting link ata2.00: ATAPI: HL-DT-ST DVDRAM GH22NS40, NL01, max UDMA/100 ata2.00: configured for UDMA/100 ata2: EH complete ata2.00: detaching (SCSI 1:0:0:0) sd 1:0:0:0: [sdb] Synchronizing SCSI cache sd 1:0:0:0: [sdb] Stopping disk scsi 1:0:0:0: CD-ROM HL-DT-ST DVDRAM GH22NS40 NL01 PQ: 0 ANSI: 5 sr0: scsi3-mmc drive: 125x/125x writer dvd-ram cd/rw xa/form2 cdda tray sr 1:0:0:0: Attached scsi CD-ROM sr0 sr 1:0:0:0: Attached scsi generic sg1 type 5 ... ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: HSM violations from ATA PACKET cmd ABRT errors in initial comms with LG GH22 SATA DVDRW 2009-12-28 23:44 ` Mikael Pettersson 2009-12-29 9:06 ` thomas schorpp 2009-12-30 22:40 ` thomas schorpp @ 2009-12-31 11:55 ` thomas schorpp 2010-01-03 21:36 ` Mikael Pettersson 3 siblings, 0 replies; 13+ messages in thread From: thomas schorpp @ 2009-12-31 11:55 UTC (permalink / raw) To: Mikael Pettersson; +Cc: Robert Hancock, linux-ide Mikael Pettersson wrote: > Robert Hancock writes: > > On 12/27/2009 02:37 PM, thomas schorpp wrote: > > > LG GH22NS40 NL01 (possibly Renesas chipset) > > > VIA8237 SATA (produces basically same errors), Promise SATA II 150 20579 > > > HBAs. > > > > > > Linux 2.6.32.2 > > > hal polling > > > devkit polling > > > wodim > > > growisofs > > > > > > port_status 0x20280000 (Data Transfer Overrun Error & Target Device Fault)? > > > > > > Looks like a hardware combination incompatibility. > > > Most applicable ATA_HORKAGES in sourcecode already tried. > > > > > > Not found the sense code yet since FEATURE specific according to > > > T13/1410D revision 3b. > > > > > > Comments? > > > > > > y > > > tom > > > > > > dmesg |grep -A 10 ata > > > > > > sata_promise 0000:00:0d.0: PCI INT A -> GSI 17 (level, low) -> IRQ 17 > > > scsi5 : sata_promise > > > scsi6 : sata_promise > > > scsi7 : sata_promise > > > ata6: SATA max UDMA/133 mmio m4096@0xfbefe000 ata 0xfbefe200 irq 17 > > > ata7: SATA max UDMA/133 mmio m4096@0xfbefe000 ata 0xfbefe280 irq 17 > > > ata8: PATA max UDMA/133 mmio m4096@0xfbefe000 ata 0xfbefe300 irq 17 > > > ata6: SATA link up 1.5 Gbps (SStatus 113 SControl 300) > > > ata6.00: ATAPI: HL-DT-ST DVDRAM GH22NS40, NL01, max UDMA/100 > > > ata6.00: configured for UDMA/100 > > > scsi 5:0:0:0: CD-ROM HL-DT-ST DVDRAM GH22NS40 NL01 PQ: 0 ANSI: 5 > > > sr0: scsi3-mmc drive: 125x/125x writer dvd-ram cd/rw xa/form2 cdda tray > > > sr 5:0:0:0: Attached scsi CD-ROM sr0 > > > sr 5:0:0:0: Attached scsi generic sg2 type 5 > > > ata7: SATA link down (SStatus 0 SControl 300) > > > ata6.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x6 > > > ata6.00: port_status 0x20280000 > > > sr 5:0:0:0: [sr0] CDB: cdb[0]=0x28: 28 00 00 00 00 00 00 00 40 00 > > > ata6.00: cmd a0/01:00:00:00:fc/00:00:00:00:00/a0 tag 0 dma 131072 in > > > res 51/54:03:00:00:fc/00:00:00:00:00/e0 Emask 0x2 (HSM violation) > > > ata6.00: status: { DRDY ERR } > > > ata6: hard resetting link > > > ata6: SATA link up 1.5 Gbps (SStatus 113 SControl 300) > > > ata6.00: configured for UDMA/100 > > > ata6: EH complete > > > ... > > > <period, ~10 times in series> > > > ... > > > ata6.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x6 > > > ata6.00: port_status 0x20280000 > > > sr 5:0:0:0: [sr0] CDB: cdb[0]=0x28: 28 00 00 00 00 00 00 00 02 00 > > > ata6.00: cmd a0/01:00:00:00:10/00:00:00:00:00/a0 tag 0 dma 4096 in > > > res 51/54:03:00:00:10/00:00:00:00:00/e0 Emask 0x2 (HSM violation) > > > ata6.00: status: { DRDY ERR } > > > ata6: hard resetting link > > > ata6: SATA link up 1.5 Gbps (SStatus 113 SControl 300) > > > ata6.00: configured for UDMA/100 > > > ata6: EH complete > > > ata6.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x6 > > > ata6.00: port_status 0x20280000 > > > sr 5:0:0:0: [sr0] CDB: cdb[0]=0x28: 28 00 00 00 00 00 00 00 02 00 > > > ata6.00: cmd a0/01:00:00:00:10/00:00:00:00:00/a0 tag 0 dma 4096 in > > > res 51/54:03:00:00:10/00:00:00:00:00/e0 Emask 0x2 (HSM violation) > > > ata6.00: status: { DRDY ERR } > > > ata6: hard resetting link > > > ata6: SATA link up 1.5 Gbps (SStatus 113 SControl 300) > > > ata6.00: configured for UDMA/100 > > > ata6: EH complete > > > ata6.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x6 > > > ata6.00: port_status 0x20280000 > > > sr 5:0:0:0: [sr0] CDB: cdb[0]=0x28: 28 00 00 00 00 00 00 00 02 00 > > > ata6.00: cmd a0/01:00:00:00:10/00:00:00:00:00/a0 tag 0 dma 4096 in > > > res 51/54:03:00:00:10/00:00:00:00:00/e0 Emask 0x2 (HSM violation) > > > ata6.00: status: { DRDY ERR } > > > ata6: hard resetting link > > > ata6: SATA link up 1.5 Gbps (SStatus 113 SControl 300) > > > ata6.00: configured for UDMA/100 > > > sr 5:0:0:0: [sr0] Result: hostbyte=0x00 driverbyte=0x08 > > > sr 5:0:0:0: [sr0] Sense Key : 0x5 [current] Info fld=0x0 > > > sr 5:0:0:0: [sr0] ASC=0x21 ASCQ=0x0 > > > sr 5:0:0:0: [sr0] CDB: cdb[0]=0x28: 28 00 00 00 00 00 00 00 02 00 > > > > Well, it's a READ command, and the response is "LOGICAL BLOCK ADDRESS > > OUT OF RANGE". Seems reasonable if it's a blank disc in the drive (is it?) Yes. > > > > According to the code comments in sata_promise, "overrun error" means > > the S/G byte count was larger than the drive requires. Which I suppose > > would happen here, because the drive didn't actually transfer any data. > > sata_promise raises an HSM error on that though which triggers resets > > and such. Seems like an overreaction, for ATAPI commands anyway, as that > > can happen normally. CCing Mikael. > > Thanks for the report. I'll try to come up with a patch to reduce > the severity of overruns to something less than HSM. > > > What were the errors you were seeing on the VIA controller? See previous mails in thread. > > I'd like to see that too. See previous mails in thread. > > /Mikael > ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: HSM violations from ATA PACKET cmd ABRT errors in initial comms with LG GH22 SATA DVDRW 2009-12-28 23:44 ` Mikael Pettersson ` (2 preceding siblings ...) 2009-12-31 11:55 ` thomas schorpp @ 2010-01-03 21:36 ` Mikael Pettersson 2010-01-04 2:00 ` thomas schorpp 2010-01-20 3:00 ` Tejun Heo 3 siblings, 2 replies; 13+ messages in thread From: Mikael Pettersson @ 2010-01-03 21:36 UTC (permalink / raw) To: Mikael Pettersson Cc: Robert Hancock, thomas.schorpp, thomas schorpp, linux-ide Mikael Pettersson writes: > Robert Hancock writes: > > On 12/27/2009 02:37 PM, thomas schorpp wrote: > > > LG GH22NS40 NL01 (possibly Renesas chipset) > > > VIA8237 SATA (produces basically same errors), Promise SATA II 150 20579 > > > HBAs. > > > > > > Linux 2.6.32.2 > > > hal polling > > > devkit polling > > > wodim > > > growisofs > > > > > > port_status 0x20280000 (Data Transfer Overrun Error & Target Device Fault)? > > > > > > Looks like a hardware combination incompatibility. > > > Most applicable ATA_HORKAGES in sourcecode already tried. > > > > > > Not found the sense code yet since FEATURE specific according to > > > T13/1410D revision 3b. > > > > > > Comments? > > > > > > y > > > tom > > > > > > dmesg |grep -A 10 ata > > > > > > sata_promise 0000:00:0d.0: PCI INT A -> GSI 17 (level, low) -> IRQ 17 > > > scsi5 : sata_promise > > > scsi6 : sata_promise > > > scsi7 : sata_promise > > > ata6: SATA max UDMA/133 mmio m4096@0xfbefe000 ata 0xfbefe200 irq 17 > > > ata7: SATA max UDMA/133 mmio m4096@0xfbefe000 ata 0xfbefe280 irq 17 > > > ata8: PATA max UDMA/133 mmio m4096@0xfbefe000 ata 0xfbefe300 irq 17 > > > ata6: SATA link up 1.5 Gbps (SStatus 113 SControl 300) > > > ata6.00: ATAPI: HL-DT-ST DVDRAM GH22NS40, NL01, max UDMA/100 > > > ata6.00: configured for UDMA/100 > > > scsi 5:0:0:0: CD-ROM HL-DT-ST DVDRAM GH22NS40 NL01 PQ: 0 ANSI: 5 > > > sr0: scsi3-mmc drive: 125x/125x writer dvd-ram cd/rw xa/form2 cdda tray > > > sr 5:0:0:0: Attached scsi CD-ROM sr0 > > > sr 5:0:0:0: Attached scsi generic sg2 type 5 > > > ata7: SATA link down (SStatus 0 SControl 300) > > > ata6.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x6 > > > ata6.00: port_status 0x20280000 > > > sr 5:0:0:0: [sr0] CDB: cdb[0]=0x28: 28 00 00 00 00 00 00 00 40 00 > > > ata6.00: cmd a0/01:00:00:00:fc/00:00:00:00:00/a0 tag 0 dma 131072 in > > > res 51/54:03:00:00:fc/00:00:00:00:00/e0 Emask 0x2 (HSM violation) > > > ata6.00: status: { DRDY ERR } > > > ata6: hard resetting link > > > ata6: SATA link up 1.5 Gbps (SStatus 113 SControl 300) > > > ata6.00: configured for UDMA/100 > > > ata6: EH complete > > > ... > > > <period, ~10 times in series> > > > ... > > > ata6.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x6 > > > ata6.00: port_status 0x20280000 > > > sr 5:0:0:0: [sr0] CDB: cdb[0]=0x28: 28 00 00 00 00 00 00 00 02 00 > > > ata6.00: cmd a0/01:00:00:00:10/00:00:00:00:00/a0 tag 0 dma 4096 in > > > res 51/54:03:00:00:10/00:00:00:00:00/e0 Emask 0x2 (HSM violation) > > > ata6.00: status: { DRDY ERR } > > > ata6: hard resetting link > > > ata6: SATA link up 1.5 Gbps (SStatus 113 SControl 300) > > > ata6.00: configured for UDMA/100 > > > ata6: EH complete > > > ata6.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x6 > > > ata6.00: port_status 0x20280000 > > > sr 5:0:0:0: [sr0] CDB: cdb[0]=0x28: 28 00 00 00 00 00 00 00 02 00 > > > ata6.00: cmd a0/01:00:00:00:10/00:00:00:00:00/a0 tag 0 dma 4096 in > > > res 51/54:03:00:00:10/00:00:00:00:00/e0 Emask 0x2 (HSM violation) > > > ata6.00: status: { DRDY ERR } > > > ata6: hard resetting link > > > ata6: SATA link up 1.5 Gbps (SStatus 113 SControl 300) > > > ata6.00: configured for UDMA/100 > > > ata6: EH complete > > > ata6.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x6 > > > ata6.00: port_status 0x20280000 > > > sr 5:0:0:0: [sr0] CDB: cdb[0]=0x28: 28 00 00 00 00 00 00 00 02 00 > > > ata6.00: cmd a0/01:00:00:00:10/00:00:00:00:00/a0 tag 0 dma 4096 in > > > res 51/54:03:00:00:10/00:00:00:00:00/e0 Emask 0x2 (HSM violation) > > > ata6.00: status: { DRDY ERR } > > > ata6: hard resetting link > > > ata6: SATA link up 1.5 Gbps (SStatus 113 SControl 300) > > > ata6.00: configured for UDMA/100 > > > sr 5:0:0:0: [sr0] Result: hostbyte=0x00 driverbyte=0x08 > > > sr 5:0:0:0: [sr0] Sense Key : 0x5 [current] Info fld=0x0 > > > sr 5:0:0:0: [sr0] ASC=0x21 ASCQ=0x0 > > > sr 5:0:0:0: [sr0] CDB: cdb[0]=0x28: 28 00 00 00 00 00 00 00 02 00 > > > > Well, it's a READ command, and the response is "LOGICAL BLOCK ADDRESS > > OUT OF RANGE". Seems reasonable if it's a blank disc in the drive (is it?) > > > > According to the code comments in sata_promise, "overrun error" means > > the S/G byte count was larger than the drive requires. Which I suppose > > would happen here, because the drive didn't actually transfer any data. > > sata_promise raises an HSM error on that though which triggers resets > > and such. Seems like an overreaction, for ATAPI commands anyway, as that > > can happen normally. CCing Mikael. > > Thanks for the report. I'll try to come up with a patch to reduce > the severity of overruns to something less than HSM. I've looked at the available AC_ERR_ values and how they're treated by libata-eh, and to avoid resets but allow for retries it seems that one should use AC_ERR_OTHER, or possibly AC_ERR_DEV, or possibly no AC_ERR_ at all (i.e., zero). So please first try the patch below. If it doesn't eliminate the reset loop, change the AC_ERR_OTHER to AC_ERR_DEV and try again. And if that one still causes reset loops, try a plain 0. /Mikael --- linux-2.6.32/drivers/ata/sata_promise.c.~1~ 2009-12-03 12:38:32.000000000 +0100 +++ linux-2.6.32/drivers/ata/sata_promise.c 2010-01-03 22:08:08.000000000 +0100 @@ -862,7 +862,7 @@ static void pdc_error_intr(struct ata_po if (port_status & PDC_DRIVE_ERR) ac_err_mask |= AC_ERR_DEV; if (port_status & (PDC_OVERRUN_ERR | PDC_UNDERRUN_ERR)) - ac_err_mask |= AC_ERR_HSM; + ac_err_mask |= AC_ERR_OTHER; /* or AC_ERR_DEV, or zero */ if (port_status & (PDC2_ATA_HBA_ERR | PDC2_ATA_DMA_CNT_ERR)) ac_err_mask |= AC_ERR_ATA_BUS; if (port_status & (PDC_PH_ERR | PDC_SH_ERR | PDC_DH_ERR | PDC2_HTO_ERR ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: HSM violations from ATA PACKET cmd ABRT errors in initial comms with LG GH22 SATA DVDRW 2010-01-03 21:36 ` Mikael Pettersson @ 2010-01-04 2:00 ` thomas schorpp 2010-01-04 9:22 ` Mikael Pettersson 2010-01-20 3:00 ` Tejun Heo 1 sibling, 1 reply; 13+ messages in thread From: thomas schorpp @ 2010-01-04 2:00 UTC (permalink / raw) To: Mikael Pettersson; +Cc: Robert Hancock, linux-ide Mikael Pettersson wrote: > Mikael Pettersson writes: > > Robert Hancock writes: > > > On 12/27/2009 02:37 PM, thomas schorpp wrote: > > > > LG GH22NS40 NL01 (possibly Renesas chipset) > > > > VIA8237 SATA (produces basically same errors), Promise SATA II 150 20579 > > > > HBAs. > > > > > > > > Linux 2.6.32.2 > > > > hal polling > > > > devkit polling > > > > wodim > > > > growisofs > > > > > > > > port_status 0x20280000 (Data Transfer Overrun Error & Target Device Fault)? > > > > > > > > Looks like a hardware combination incompatibility. > > > > Most applicable ATA_HORKAGES in sourcecode already tried. > > > > > > > > Not found the sense code yet since FEATURE specific according to > > > > T13/1410D revision 3b. > > > > > > > > Comments? > > > > > > > > y > > > > tom > > > > > > > > dmesg |grep -A 10 ata > > > > > > > > sata_promise 0000:00:0d.0: PCI INT A -> GSI 17 (level, low) -> IRQ 17 > > > > scsi5 : sata_promise > > > > scsi6 : sata_promise > > > > scsi7 : sata_promise > > > > ata6: SATA max UDMA/133 mmio m4096@0xfbefe000 ata 0xfbefe200 irq 17 > > > > ata7: SATA max UDMA/133 mmio m4096@0xfbefe000 ata 0xfbefe280 irq 17 > > > > ata8: PATA max UDMA/133 mmio m4096@0xfbefe000 ata 0xfbefe300 irq 17 > > > > ata6: SATA link up 1.5 Gbps (SStatus 113 SControl 300) > > > > ata6.00: ATAPI: HL-DT-ST DVDRAM GH22NS40, NL01, max UDMA/100 > > > > ata6.00: configured for UDMA/100 > > > > scsi 5:0:0:0: CD-ROM HL-DT-ST DVDRAM GH22NS40 NL01 PQ: 0 ANSI: 5 > > > > sr0: scsi3-mmc drive: 125x/125x writer dvd-ram cd/rw xa/form2 cdda tray > > > > sr 5:0:0:0: Attached scsi CD-ROM sr0 > > > > sr 5:0:0:0: Attached scsi generic sg2 type 5 > > > > ata7: SATA link down (SStatus 0 SControl 300) > > > > ata6.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x6 > > > > ata6.00: port_status 0x20280000 > > > > sr 5:0:0:0: [sr0] CDB: cdb[0]=0x28: 28 00 00 00 00 00 00 00 40 00 > > > > ata6.00: cmd a0/01:00:00:00:fc/00:00:00:00:00/a0 tag 0 dma 131072 in > > > > res 51/54:03:00:00:fc/00:00:00:00:00/e0 Emask 0x2 (HSM violation) > > > > ata6.00: status: { DRDY ERR } > > > > ata6: hard resetting link > > > > ata6: SATA link up 1.5 Gbps (SStatus 113 SControl 300) > > > > ata6.00: configured for UDMA/100 > > > > ata6: EH complete > > > > ... > > > > <period, ~10 times in series> > > > > ... > > > > ata6.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x6 > > > > ata6.00: port_status 0x20280000 > > > > sr 5:0:0:0: [sr0] CDB: cdb[0]=0x28: 28 00 00 00 00 00 00 00 02 00 > > > > ata6.00: cmd a0/01:00:00:00:10/00:00:00:00:00/a0 tag 0 dma 4096 in > > > > res 51/54:03:00:00:10/00:00:00:00:00/e0 Emask 0x2 (HSM violation) > > > > ata6.00: status: { DRDY ERR } > > > > ata6: hard resetting link > > > > ata6: SATA link up 1.5 Gbps (SStatus 113 SControl 300) > > > > ata6.00: configured for UDMA/100 > > > > ata6: EH complete > > > > ata6.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x6 > > > > ata6.00: port_status 0x20280000 > > > > sr 5:0:0:0: [sr0] CDB: cdb[0]=0x28: 28 00 00 00 00 00 00 00 02 00 > > > > ata6.00: cmd a0/01:00:00:00:10/00:00:00:00:00/a0 tag 0 dma 4096 in > > > > res 51/54:03:00:00:10/00:00:00:00:00/e0 Emask 0x2 (HSM violation) > > > > ata6.00: status: { DRDY ERR } > > > > ata6: hard resetting link > > > > ata6: SATA link up 1.5 Gbps (SStatus 113 SControl 300) > > > > ata6.00: configured for UDMA/100 > > > > ata6: EH complete > > > > ata6.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x6 > > > > ata6.00: port_status 0x20280000 > > > > sr 5:0:0:0: [sr0] CDB: cdb[0]=0x28: 28 00 00 00 00 00 00 00 02 00 > > > > ata6.00: cmd a0/01:00:00:00:10/00:00:00:00:00/a0 tag 0 dma 4096 in > > > > res 51/54:03:00:00:10/00:00:00:00:00/e0 Emask 0x2 (HSM violation) > > > > ata6.00: status: { DRDY ERR } > > > > ata6: hard resetting link > > > > ata6: SATA link up 1.5 Gbps (SStatus 113 SControl 300) > > > > ata6.00: configured for UDMA/100 > > > > sr 5:0:0:0: [sr0] Result: hostbyte=0x00 driverbyte=0x08 > > > > sr 5:0:0:0: [sr0] Sense Key : 0x5 [current] Info fld=0x0 > > > > sr 5:0:0:0: [sr0] ASC=0x21 ASCQ=0x0 > > > > sr 5:0:0:0: [sr0] CDB: cdb[0]=0x28: 28 00 00 00 00 00 00 00 02 00 > > > > > > Well, it's a READ command, and the response is "LOGICAL BLOCK ADDRESS > > > OUT OF RANGE". Seems reasonable if it's a blank disc in the drive (is it?) > > > > > > According to the code comments in sata_promise, "overrun error" means > > > the S/G byte count was larger than the drive requires. Which I suppose > > > would happen here, because the drive didn't actually transfer any data. > > > sata_promise raises an HSM error on that though which triggers resets > > > and such. Seems like an overreaction, for ATAPI commands anyway, as that > > > can happen normally. CCing Mikael. > > > > Thanks for the report. I'll try to come up with a patch to reduce > > the severity of overruns to something less than HSM. > > I've looked at the available AC_ERR_ values and how they're treated by > libata-eh, and to avoid resets but allow for retries it seems that one > should use AC_ERR_OTHER, or possibly AC_ERR_DEV, or possibly no AC_ERR_ > at all (i.e., zero). So please first try the patch below. If it doesn't > eliminate the reset loop, change the AC_ERR_OTHER to AC_ERR_DEV and try > again. And if that one still causes reset loops, try a plain 0. > > /Mikael > > --- linux-2.6.32/drivers/ata/sata_promise.c.~1~ 2009-12-03 12:38:32.000000000 +0100 > +++ linux-2.6.32/drivers/ata/sata_promise.c 2010-01-03 22:08:08.000000000 +0100 > @@ -862,7 +862,7 @@ static void pdc_error_intr(struct ata_po > if (port_status & PDC_DRIVE_ERR) > ac_err_mask |= AC_ERR_DEV; > if (port_status & (PDC_OVERRUN_ERR | PDC_UNDERRUN_ERR)) > - ac_err_mask |= AC_ERR_HSM; > + ac_err_mask |= AC_ERR_OTHER; /* or AC_ERR_DEV, or zero */ > if (port_status & (PDC2_ATA_HBA_ERR | PDC2_ATA_DMA_CNT_ERR)) > ac_err_mask |= AC_ERR_ATA_BUS; > if (port_status & (PDC_PH_ERR | PDC_SH_ERR | PDC_DH_ERR | PDC2_HTO_ERR > FIXED with AC_ERR_OTHER. TESTED Drive reads and writes media fine. Many Thanks :-) y tom ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: HSM violations from ATA PACKET cmd ABRT errors in initial comms with LG GH22 SATA DVDRW 2010-01-04 2:00 ` thomas schorpp @ 2010-01-04 9:22 ` Mikael Pettersson 2010-01-04 21:06 ` thomas schorpp 0 siblings, 1 reply; 13+ messages in thread From: Mikael Pettersson @ 2010-01-04 9:22 UTC (permalink / raw) To: thomas.schorpp; +Cc: Mikael Pettersson, Robert Hancock, linux-ide thomas schorpp writes: > Mikael Pettersson wrote: > > Mikael Pettersson writes: > > > Robert Hancock writes: > > > > On 12/27/2009 02:37 PM, thomas schorpp wrote: > > > > > LG GH22NS40 NL01 (possibly Renesas chipset) > > > > > VIA8237 SATA (produces basically same errors), Promise SATA II 150 20579 > > > > > HBAs. > > > > > > > > > > Linux 2.6.32.2 > > > > > hal polling > > > > > devkit polling > > > > > wodim > > > > > growisofs > > > > > > > > > > port_status 0x20280000 (Data Transfer Overrun Error & Target Device Fault)? > > > > > > > > > > Looks like a hardware combination incompatibility. > > > > > Most applicable ATA_HORKAGES in sourcecode already tried. > > > > > > > > > > Not found the sense code yet since FEATURE specific according to > > > > > T13/1410D revision 3b. > > > > > > > > > > Comments? > > > > > > > > > > y > > > > > tom > > > > > > > > > > dmesg |grep -A 10 ata > > > > > > > > > > sata_promise 0000:00:0d.0: PCI INT A -> GSI 17 (level, low) -> IRQ 17 > > > > > scsi5 : sata_promise > > > > > scsi6 : sata_promise > > > > > scsi7 : sata_promise > > > > > ata6: SATA max UDMA/133 mmio m4096@0xfbefe000 ata 0xfbefe200 irq 17 > > > > > ata7: SATA max UDMA/133 mmio m4096@0xfbefe000 ata 0xfbefe280 irq 17 > > > > > ata8: PATA max UDMA/133 mmio m4096@0xfbefe000 ata 0xfbefe300 irq 17 > > > > > ata6: SATA link up 1.5 Gbps (SStatus 113 SControl 300) > > > > > ata6.00: ATAPI: HL-DT-ST DVDRAM GH22NS40, NL01, max UDMA/100 > > > > > ata6.00: configured for UDMA/100 > > > > > scsi 5:0:0:0: CD-ROM HL-DT-ST DVDRAM GH22NS40 NL01 PQ: 0 ANSI: 5 > > > > > sr0: scsi3-mmc drive: 125x/125x writer dvd-ram cd/rw xa/form2 cdda tray > > > > > sr 5:0:0:0: Attached scsi CD-ROM sr0 > > > > > sr 5:0:0:0: Attached scsi generic sg2 type 5 > > > > > ata7: SATA link down (SStatus 0 SControl 300) > > > > > ata6.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x6 > > > > > ata6.00: port_status 0x20280000 > > > > > sr 5:0:0:0: [sr0] CDB: cdb[0]=0x28: 28 00 00 00 00 00 00 00 40 00 > > > > > ata6.00: cmd a0/01:00:00:00:fc/00:00:00:00:00/a0 tag 0 dma 131072 in > > > > > res 51/54:03:00:00:fc/00:00:00:00:00/e0 Emask 0x2 (HSM violation) > > > > > ata6.00: status: { DRDY ERR } > > > > > ata6: hard resetting link > > > > > ata6: SATA link up 1.5 Gbps (SStatus 113 SControl 300) > > > > > ata6.00: configured for UDMA/100 > > > > > ata6: EH complete > > > > > ... > > > > > <period, ~10 times in series> > > > > > ... > > > > > ata6.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x6 > > > > > ata6.00: port_status 0x20280000 > > > > > sr 5:0:0:0: [sr0] CDB: cdb[0]=0x28: 28 00 00 00 00 00 00 00 02 00 > > > > > ata6.00: cmd a0/01:00:00:00:10/00:00:00:00:00/a0 tag 0 dma 4096 in > > > > > res 51/54:03:00:00:10/00:00:00:00:00/e0 Emask 0x2 (HSM violation) > > > > > ata6.00: status: { DRDY ERR } > > > > > ata6: hard resetting link > > > > > ata6: SATA link up 1.5 Gbps (SStatus 113 SControl 300) > > > > > ata6.00: configured for UDMA/100 > > > > > ata6: EH complete > > > > > ata6.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x6 > > > > > ata6.00: port_status 0x20280000 > > > > > sr 5:0:0:0: [sr0] CDB: cdb[0]=0x28: 28 00 00 00 00 00 00 00 02 00 > > > > > ata6.00: cmd a0/01:00:00:00:10/00:00:00:00:00/a0 tag 0 dma 4096 in > > > > > res 51/54:03:00:00:10/00:00:00:00:00/e0 Emask 0x2 (HSM violation) > > > > > ata6.00: status: { DRDY ERR } > > > > > ata6: hard resetting link > > > > > ata6: SATA link up 1.5 Gbps (SStatus 113 SControl 300) > > > > > ata6.00: configured for UDMA/100 > > > > > ata6: EH complete > > > > > ata6.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x6 > > > > > ata6.00: port_status 0x20280000 > > > > > sr 5:0:0:0: [sr0] CDB: cdb[0]=0x28: 28 00 00 00 00 00 00 00 02 00 > > > > > ata6.00: cmd a0/01:00:00:00:10/00:00:00:00:00/a0 tag 0 dma 4096 in > > > > > res 51/54:03:00:00:10/00:00:00:00:00/e0 Emask 0x2 (HSM violation) > > > > > ata6.00: status: { DRDY ERR } > > > > > ata6: hard resetting link > > > > > ata6: SATA link up 1.5 Gbps (SStatus 113 SControl 300) > > > > > ata6.00: configured for UDMA/100 > > > > > sr 5:0:0:0: [sr0] Result: hostbyte=0x00 driverbyte=0x08 > > > > > sr 5:0:0:0: [sr0] Sense Key : 0x5 [current] Info fld=0x0 > > > > > sr 5:0:0:0: [sr0] ASC=0x21 ASCQ=0x0 > > > > > sr 5:0:0:0: [sr0] CDB: cdb[0]=0x28: 28 00 00 00 00 00 00 00 02 00 > > > > > > > > Well, it's a READ command, and the response is "LOGICAL BLOCK ADDRESS > > > > OUT OF RANGE". Seems reasonable if it's a blank disc in the drive (is it?) > > > > > > > > According to the code comments in sata_promise, "overrun error" means > > > > the S/G byte count was larger than the drive requires. Which I suppose > > > > would happen here, because the drive didn't actually transfer any data. > > > > sata_promise raises an HSM error on that though which triggers resets > > > > and such. Seems like an overreaction, for ATAPI commands anyway, as that > > > > can happen normally. CCing Mikael. > > > > > > Thanks for the report. I'll try to come up with a patch to reduce > > > the severity of overruns to something less than HSM. > > > > I've looked at the available AC_ERR_ values and how they're treated by > > libata-eh, and to avoid resets but allow for retries it seems that one > > should use AC_ERR_OTHER, or possibly AC_ERR_DEV, or possibly no AC_ERR_ > > at all (i.e., zero). So please first try the patch below. If it doesn't > > eliminate the reset loop, change the AC_ERR_OTHER to AC_ERR_DEV and try > > again. And if that one still causes reset loops, try a plain 0. > > > > /Mikael > > > > --- linux-2.6.32/drivers/ata/sata_promise.c.~1~ 2009-12-03 12:38:32.000000000 +0100 > > +++ linux-2.6.32/drivers/ata/sata_promise.c 2010-01-03 22:08:08.000000000 +0100 > > @@ -862,7 +862,7 @@ static void pdc_error_intr(struct ata_po > > if (port_status & PDC_DRIVE_ERR) > > ac_err_mask |= AC_ERR_DEV; > > if (port_status & (PDC_OVERRUN_ERR | PDC_UNDERRUN_ERR)) > > - ac_err_mask |= AC_ERR_HSM; > > + ac_err_mask |= AC_ERR_OTHER; /* or AC_ERR_DEV, or zero */ > > if (port_status & (PDC2_ATA_HBA_ERR | PDC2_ATA_DMA_CNT_ERR)) > > ac_err_mask |= AC_ERR_ATA_BUS; > > if (port_status & (PDC_PH_ERR | PDC_SH_ERR | PDC_DH_ERR | PDC2_HTO_ERR > > > > FIXED with AC_ERR_OTHER. > TESTED Drive reads and writes media fine. > > Many Thanks :-) Great. Can you show me the kernel messages from the patched driver, including driver initialization, device enumeration, and your accesses to the ATAPI device? I want to make sure everything looks ok before pushing this upstream. /Mikael ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: HSM violations from ATA PACKET cmd ABRT errors in initial comms with LG GH22 SATA DVDRW 2010-01-04 9:22 ` Mikael Pettersson @ 2010-01-04 21:06 ` thomas schorpp 0 siblings, 0 replies; 13+ messages in thread From: thomas schorpp @ 2010-01-04 21:06 UTC (permalink / raw) To: Mikael Pettersson; +Cc: Robert Hancock, linux-ide Mikael Pettersson wrote: > thomas schorpp writes: > > Mikael Pettersson wrote: > > > Mikael Pettersson writes: > > > > Robert Hancock writes: > > > > > On 12/27/2009 02:37 PM, thomas schorpp wrote: > > > > > > LG GH22NS40 NL01 (possibly Renesas chipset) > > > > > > VIA8237 SATA (produces basically same errors), Promise SATA II 150 20579 > > > > > > HBAs. > > > > > > > > > > > > Linux 2.6.32.2 > > > > > > hal polling > > > > > > devkit polling > > > > > > wodim > > > > > > growisofs > > > > > > > > > > > > port_status 0x20280000 (Data Transfer Overrun Error & Target Device Fault)? > > > > > > > > > > > > Looks like a hardware combination incompatibility. > > > > > > Most applicable ATA_HORKAGES in sourcecode already tried. > > > > > > > > > > > > Not found the sense code yet since FEATURE specific according to > > > > > > T13/1410D revision 3b. > > > > > > > > > > > > Comments? > > > > > > > > > > > > y > > > > > > tom > > > > > > > > > > > > dmesg |grep -A 10 ata > > > > > > > > > > > > sata_promise 0000:00:0d.0: PCI INT A -> GSI 17 (level, low) -> IRQ 17 > > > > > > scsi5 : sata_promise > > > > > > scsi6 : sata_promise > > > > > > scsi7 : sata_promise > > > > > > ata6: SATA max UDMA/133 mmio m4096@0xfbefe000 ata 0xfbefe200 irq 17 > > > > > > ata7: SATA max UDMA/133 mmio m4096@0xfbefe000 ata 0xfbefe280 irq 17 > > > > > > ata8: PATA max UDMA/133 mmio m4096@0xfbefe000 ata 0xfbefe300 irq 17 > > > > > > ata6: SATA link up 1.5 Gbps (SStatus 113 SControl 300) > > > > > > ata6.00: ATAPI: HL-DT-ST DVDRAM GH22NS40, NL01, max UDMA/100 > > > > > > ata6.00: configured for UDMA/100 > > > > > > scsi 5:0:0:0: CD-ROM HL-DT-ST DVDRAM GH22NS40 NL01 PQ: 0 ANSI: 5 > > > > > > sr0: scsi3-mmc drive: 125x/125x writer dvd-ram cd/rw xa/form2 cdda tray > > > > > > sr 5:0:0:0: Attached scsi CD-ROM sr0 > > > > > > sr 5:0:0:0: Attached scsi generic sg2 type 5 > > > > > > ata7: SATA link down (SStatus 0 SControl 300) > > > > > > ata6.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x6 > > > > > > ata6.00: port_status 0x20280000 > > > > > > sr 5:0:0:0: [sr0] CDB: cdb[0]=0x28: 28 00 00 00 00 00 00 00 40 00 > > > > > > ata6.00: cmd a0/01:00:00:00:fc/00:00:00:00:00/a0 tag 0 dma 131072 in > > > > > > res 51/54:03:00:00:fc/00:00:00:00:00/e0 Emask 0x2 (HSM violation) > > > > > > ata6.00: status: { DRDY ERR } > > > > > > ata6: hard resetting link > > > > > > ata6: SATA link up 1.5 Gbps (SStatus 113 SControl 300) > > > > > > ata6.00: configured for UDMA/100 > > > > > > ata6: EH complete > > > > > > ... > > > > > > <period, ~10 times in series> > > > > > > ... > > > > > > ata6.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x6 > > > > > > ata6.00: port_status 0x20280000 > > > > > > sr 5:0:0:0: [sr0] CDB: cdb[0]=0x28: 28 00 00 00 00 00 00 00 02 00 > > > > > > ata6.00: cmd a0/01:00:00:00:10/00:00:00:00:00/a0 tag 0 dma 4096 in > > > > > > res 51/54:03:00:00:10/00:00:00:00:00/e0 Emask 0x2 (HSM violation) > > > > > > ata6.00: status: { DRDY ERR } > > > > > > ata6: hard resetting link > > > > > > ata6: SATA link up 1.5 Gbps (SStatus 113 SControl 300) > > > > > > ata6.00: configured for UDMA/100 > > > > > > ata6: EH complete > > > > > > ata6.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x6 > > > > > > ata6.00: port_status 0x20280000 > > > > > > sr 5:0:0:0: [sr0] CDB: cdb[0]=0x28: 28 00 00 00 00 00 00 00 02 00 > > > > > > ata6.00: cmd a0/01:00:00:00:10/00:00:00:00:00/a0 tag 0 dma 4096 in > > > > > > res 51/54:03:00:00:10/00:00:00:00:00/e0 Emask 0x2 (HSM violation) > > > > > > ata6.00: status: { DRDY ERR } > > > > > > ata6: hard resetting link > > > > > > ata6: SATA link up 1.5 Gbps (SStatus 113 SControl 300) > > > > > > ata6.00: configured for UDMA/100 > > > > > > ata6: EH complete > > > > > > ata6.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x6 > > > > > > ata6.00: port_status 0x20280000 > > > > > > sr 5:0:0:0: [sr0] CDB: cdb[0]=0x28: 28 00 00 00 00 00 00 00 02 00 > > > > > > ata6.00: cmd a0/01:00:00:00:10/00:00:00:00:00/a0 tag 0 dma 4096 in > > > > > > res 51/54:03:00:00:10/00:00:00:00:00/e0 Emask 0x2 (HSM violation) > > > > > > ata6.00: status: { DRDY ERR } > > > > > > ata6: hard resetting link > > > > > > ata6: SATA link up 1.5 Gbps (SStatus 113 SControl 300) > > > > > > ata6.00: configured for UDMA/100 > > > > > > sr 5:0:0:0: [sr0] Result: hostbyte=0x00 driverbyte=0x08 > > > > > > sr 5:0:0:0: [sr0] Sense Key : 0x5 [current] Info fld=0x0 > > > > > > sr 5:0:0:0: [sr0] ASC=0x21 ASCQ=0x0 > > > > > > sr 5:0:0:0: [sr0] CDB: cdb[0]=0x28: 28 00 00 00 00 00 00 00 02 00 > > > > > > > > > > Well, it's a READ command, and the response is "LOGICAL BLOCK ADDRESS > > > > > OUT OF RANGE". Seems reasonable if it's a blank disc in the drive (is it?) > > > > > > > > > > According to the code comments in sata_promise, "overrun error" means > > > > > the S/G byte count was larger than the drive requires. Which I suppose > > > > > would happen here, because the drive didn't actually transfer any data. > > > > > sata_promise raises an HSM error on that though which triggers resets > > > > > and such. Seems like an overreaction, for ATAPI commands anyway, as that > > > > > can happen normally. CCing Mikael. > > > > > > > > Thanks for the report. I'll try to come up with a patch to reduce > > > > the severity of overruns to something less than HSM. > > > > > > I've looked at the available AC_ERR_ values and how they're treated by > > > libata-eh, and to avoid resets but allow for retries it seems that one > > > should use AC_ERR_OTHER, or possibly AC_ERR_DEV, or possibly no AC_ERR_ > > > at all (i.e., zero). So please first try the patch below. If it doesn't > > > eliminate the reset loop, change the AC_ERR_OTHER to AC_ERR_DEV and try > > > again. And if that one still causes reset loops, try a plain 0. > > > > > > /Mikael > > > > > > --- linux-2.6.32/drivers/ata/sata_promise.c.~1~ 2009-12-03 12:38:32.000000000 +0100 > > > +++ linux-2.6.32/drivers/ata/sata_promise.c 2010-01-03 22:08:08.000000000 +0100 > > > @@ -862,7 +862,7 @@ static void pdc_error_intr(struct ata_po > > > if (port_status & PDC_DRIVE_ERR) > > > ac_err_mask |= AC_ERR_DEV; > > > if (port_status & (PDC_OVERRUN_ERR | PDC_UNDERRUN_ERR)) > > > - ac_err_mask |= AC_ERR_HSM; > > > + ac_err_mask |= AC_ERR_OTHER; /* or AC_ERR_DEV, or zero */ > > > if (port_status & (PDC2_ATA_HBA_ERR | PDC2_ATA_DMA_CNT_ERR)) > > > ac_err_mask |= AC_ERR_ATA_BUS; > > > if (port_status & (PDC_PH_ERR | PDC_SH_ERR | PDC_DH_ERR | PDC2_HTO_ERR > > > > > > > FIXED with AC_ERR_OTHER. > > TESTED Drive reads and writes media fine. > > > > Many Thanks :-) > > Great. Can you show me the kernel messages from the patched driver, > including driver initialization, device enumeration, and your accesses > to the ATAPI device? I want to make sure everything looks ok before > pushing this upstream. sata_promise 0000:00:0d.0: version 2.12 sata_promise 0000:00:0d.0: PCI INT A -> GSI 17 (level, low) -> IRQ 17 scsi2 : sata_promise scsi3 : sata_promise scsi4 : sata_promise ata3: SATA max UDMA/133 mmio m4096@0xfbefe000 ata 0xfbefe200 irq 17 ata4: SATA max UDMA/133 mmio m4096@0xfbefe000 ata 0xfbefe280 irq 17 ata5: PATA max UDMA/133 mmio m4096@0xfbefe000 ata 0xfbefe300 irq 17 ata3: SATA link up 1.5 Gbps (SStatus 113 SControl 300) ata3.00: ATAPI: HL-DT-ST DVDRAM GH22NS40, NL01, max UDMA/100 ata3.00: configured for UDMA/100 scsi 2:0:0:0: CD-ROM HL-DT-ST DVDRAM GH22NS40 NL01 PQ: 0 ANSI: 5 sr0: scsi3-mmc drive: 125x/125x writer dvd-ram cd/rw xa/form2 cdda tray sr 2:0:0:0: Attached scsi CD-ROM sr0 sr 2:0:0:0: Attached scsi generic sg2 type 5 -- ata4: SATA link down (SStatus 0 SControl 300) hal+devkit polling on raw dvd+r media: sr 2:0:0:0: Attached scsi CD-ROM sr0 sr 2:0:0:0: [sr0] Result: hostbyte=0x00 driverbyte=0x08 sr 2:0:0:0: [sr0] Sense Key : 0x5 [current] sr 2:0:0:0: [sr0] ASC=0x21 ASCQ=0x0 sr 2:0:0:0: [sr0] CDB: cdb[0]=0x28: 28 00 00 00 00 00 00 00 40 00 end_request: I/O error, dev sr0, sector 0 Buffer I/O error on device sr0, logical block 0 Buffer I/O error on device sr0, logical block 1 Buffer I/O error on device sr0, logical block 2 Buffer I/O error on device sr0, logical block 3 Buffer I/O error on device sr0, logical block 4 Buffer I/O error on device sr0, logical block 5 Buffer I/O error on device sr0, logical block 6 Buffer I/O error on device sr0, logical block 7 Buffer I/O error on device sr0, logical block 8 Buffer I/O error on device sr0, logical block 9 sr 2:0:0:0: [sr0] Result: hostbyte=0x00 driverbyte=0x08 sr 2:0:0:0: [sr0] Sense Key : 0x5 [current] sr 2:0:0:0: [sr0] ASC=0x21 ASCQ=0x0 sr 2:0:0:0: [sr0] CDB: cdb[0]=0x28: 28 00 00 00 00 00 00 00 02 00 end_request: I/O error, dev sr0, sector 0 sr 2:0:0:0: [sr0] Result: hostbyte=0x00 driverbyte=0x08 sr 2:0:0:0: [sr0] Sense Key : 0x5 [current] sr 2:0:0:0: [sr0] ASC=0x21 ASCQ=0x0 sr 2:0:0:0: [sr0] CDB: cdb[0]=0x28: 28 00 00 00 00 00 00 00 08 00 end_request: I/O error, dev sr0, sector 0 sr 2:0:0:0: [sr0] Result: hostbyte=0x00 driverbyte=0x08 sr 2:0:0:0: [sr0] Sense Key : 0x5 [current] sr 2:0:0:0: [sr0] ASC=0x21 ASCQ=0x0 sr 2:0:0:0: [sr0] CDB: cdb[0]=0x28: 28 00 00 00 00 00 00 00 02 00 end_request: I/O error, dev sr0, sector 0 sr 2:0:0:0: [sr0] Result: hostbyte=0x00 driverbyte=0x08 sr 2:0:0:0: [sr0] Sense Key : 0x5 [current] sr 2:0:0:0: [sr0] ASC=0x21 ASCQ=0x0 sr 2:0:0:0: [sr0] CDB: cdb[0]=0x28: 28 00 00 00 00 00 00 00 02 00 end_request: I/O error, dev sr0, sector 0 sr 2:0:0:0: [sr0] Result: hostbyte=0x00 driverbyte=0x08 sr 2:0:0:0: [sr0] Sense Key : 0x5 [current] sr 2:0:0:0: [sr0] ASC=0x21 ASCQ=0x0 sr 2:0:0:0: [sr0] CDB: cdb[0]=0x28: 28 00 00 00 00 00 00 00 40 00 end_request: I/O error, dev sr0, sector 0 sr 2:0:0:0: [sr0] Result: hostbyte=0x00 driverbyte=0x08 sr 2:0:0:0: [sr0] Sense Key : 0x5 [current] sr 2:0:0:0: [sr0] ASC=0x21 ASCQ=0x0 sr 2:0:0:0: [sr0] CDB: cdb[0]=0x28: 28 00 00 00 00 00 00 00 02 00 end_request: I/O error, dev sr0, sector 0 sr 2:0:0:0: [sr0] Result: hostbyte=0x00 driverbyte=0x08 sr 2:0:0:0: [sr0] Sense Key : 0x5 [current] sr 2:0:0:0: [sr0] ASC=0x21 ASCQ=0x0 sr 2:0:0:0: [sr0] CDB: cdb[0]=0x28: 28 00 00 00 00 00 00 00 08 00 end_request: I/O error, dev sr0, sector 0 sr 2:0:0:0: [sr0] Result: hostbyte=0x00 driverbyte=0x08 sr 2:0:0:0: [sr0] Sense Key : 0x5 [current] sr 2:0:0:0: [sr0] ASC=0x21 ASCQ=0x0 sr 2:0:0:0: [sr0] CDB: cdb[0]=0x28: 28 00 00 00 00 00 00 00 02 00 end_request: I/O error, dev sr0, sector 0 sr 2:0:0:0: [sr0] Result: hostbyte=0x00 driverbyte=0x08 sr 2:0:0:0: [sr0] Sense Key : 0x5 [current] sr 2:0:0:0: [sr0] ASC=0x21 ASCQ=0x0 sr 2:0:0:0: [sr0] CDB: cdb[0]=0x28: 28 00 00 00 00 00 00 00 02 00 end_request: I/O error, dev sr0, sector 0 sr 2:0:0:0: [sr0] Result: hostbyte=0x00 driverbyte=0x08 sr 2:0:0:0: [sr0] Sense Key : 0x5 [current] sr 2:0:0:0: [sr0] ASC=0x21 ASCQ=0x0 sr 2:0:0:0: [sr0] CDB: cdb[0]=0x28: 28 00 00 00 00 00 00 00 40 00 end_request: I/O error, dev sr0, sector 0 Buffer I/O error on device sr0, logical block 0 Buffer I/O error on device sr0, logical block 1 Buffer I/O error on device sr0, logical block 2 Buffer I/O error on device sr0, logical block 3 Buffer I/O error on device sr0, logical block 4 Buffer I/O error on device sr0, logical block 5 Buffer I/O error on device sr0, logical block 6 Buffer I/O error on device sr0, logical block 7 Buffer I/O error on device sr0, logical block 8 Buffer I/O error on device sr0, logical block 9 sr 2:0:0:0: [sr0] Result: hostbyte=0x00 driverbyte=0x08 sr 2:0:0:0: [sr0] Sense Key : 0x5 [current] sr 2:0:0:0: [sr0] ASC=0x21 ASCQ=0x0 sr 2:0:0:0: [sr0] CDB: cdb[0]=0x28: 28 00 00 00 00 00 00 00 02 00 end_request: I/O error, dev sr0, sector 0 sr 2:0:0:0: [sr0] Result: hostbyte=0x00 driverbyte=0x08 sr 2:0:0:0: [sr0] Sense Key : 0x5 [current] sr 2:0:0:0: [sr0] ASC=0x21 ASCQ=0x0 sr 2:0:0:0: [sr0] CDB: cdb[0]=0x28: 28 00 00 00 00 00 00 00 02 00 end_request: I/O error, dev sr0, sector 0 sr 2:0:0:0: [sr0] Result: hostbyte=0x00 driverbyte=0x08 sr 2:0:0:0: [sr0] Sense Key : 0x5 [current] sr 2:0:0:0: [sr0] ASC=0x21 ASCQ=0x0 sr 2:0:0:0: [sr0] CDB: cdb[0]=0x28: 28 00 00 00 00 00 00 00 02 00 end_request: I/O error, dev sr0, sector 0 No messages for R/W of data media. y tom ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: HSM violations from ATA PACKET cmd ABRT errors in initial comms with LG GH22 SATA DVDRW 2010-01-03 21:36 ` Mikael Pettersson 2010-01-04 2:00 ` thomas schorpp @ 2010-01-20 3:00 ` Tejun Heo 2010-01-20 7:57 ` thomas schorpp 1 sibling, 1 reply; 13+ messages in thread From: Tejun Heo @ 2010-01-20 3:00 UTC (permalink / raw) To: Mikael Pettersson Cc: Robert Hancock, thomas.schorpp, thomas schorpp, linux-ide Hello, Mikael. On 01/04/2010 06:36 AM, Mikael Pettersson wrote: > I've looked at the available AC_ERR_ values and how they're treated by > libata-eh, and to avoid resets but allow for retries it seems that one > should use AC_ERR_OTHER, or possibly AC_ERR_DEV, or possibly no AC_ERR_ > at all (i.e., zero). So please first try the patch below. If it doesn't > eliminate the reset loop, change the AC_ERR_OTHER to AC_ERR_DEV and try > again. And if that one still causes reset loops, try a plain 0. > > /Mikael > > --- linux-2.6.32/drivers/ata/sata_promise.c.~1~ 2009-12-03 12:38:32.000000000 +0100 > +++ linux-2.6.32/drivers/ata/sata_promise.c 2010-01-03 22:08:08.000000000 +0100 > @@ -862,7 +862,7 @@ static void pdc_error_intr(struct ata_po > if (port_status & PDC_DRIVE_ERR) > ac_err_mask |= AC_ERR_DEV; > if (port_status & (PDC_OVERRUN_ERR | PDC_UNDERRUN_ERR)) > - ac_err_mask |= AC_ERR_HSM; > + ac_err_mask |= AC_ERR_OTHER; /* or AC_ERR_DEV, or zero */ I think AC_ERR_OTHER can still be too much. AC_ERR_* bits should only be set when the command failed for that reason. Here, underrun is expected, so not really an error condition. But, for example, under or overrun for an ATA R/W command should trigger HSM failure. I think the above error detection logic needs to be improved a bit. Thanks. -- tejun ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: HSM violations from ATA PACKET cmd ABRT errors in initial comms with LG GH22 SATA DVDRW 2010-01-20 3:00 ` Tejun Heo @ 2010-01-20 7:57 ` thomas schorpp 2010-01-20 8:51 ` Tejun Heo 0 siblings, 1 reply; 13+ messages in thread From: thomas schorpp @ 2010-01-20 7:57 UTC (permalink / raw) To: Tejun Heo; +Cc: Mikael Pettersson, Robert Hancock, linux-ide Tejun Heo wrote: > Hello, Mikael. > > On 01/04/2010 06:36 AM, Mikael Pettersson wrote: >> I've looked at the available AC_ERR_ values and how they're treated by >> libata-eh, and to avoid resets but allow for retries it seems that one >> should use AC_ERR_OTHER, or possibly AC_ERR_DEV, or possibly no AC_ERR_ >> at all (i.e., zero). So please first try the patch below. If it doesn't >> eliminate the reset loop, change the AC_ERR_OTHER to AC_ERR_DEV and try >> again. And if that one still causes reset loops, try a plain 0. >> >> /Mikael >> >> --- linux-2.6.32/drivers/ata/sata_promise.c.~1~ 2009-12-03 12:38:32.000000000 +0100 >> +++ linux-2.6.32/drivers/ata/sata_promise.c 2010-01-03 22:08:08.000000000 +0100 >> @@ -862,7 +862,7 @@ static void pdc_error_intr(struct ata_po >> if (port_status & PDC_DRIVE_ERR) >> ac_err_mask |= AC_ERR_DEV; >> if (port_status & (PDC_OVERRUN_ERR | PDC_UNDERRUN_ERR)) >> - ac_err_mask |= AC_ERR_HSM; >> + ac_err_mask |= AC_ERR_OTHER; /* or AC_ERR_DEV, or zero */ > > I think AC_ERR_OTHER can still be too much. AC_ERR_* bits should only > be set when the command failed for that reason. Here, underrun is Overruns from my port status log, not underruns? port_status 0x20280000, 0x2020, (Data Transfer Overrun Error & Target Device Fault)? > expected, so not really an error condition. But, for example, under > or overrun for an ATA R/W command should trigger HSM failure. I think > the above error detection logic needs to be improved a bit. Well I generally don't feel comfortable with any unknown state output EHs, too, but if ata spec conformant, we're fine, aren't we? y tom ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: HSM violations from ATA PACKET cmd ABRT errors in initial comms with LG GH22 SATA DVDRW 2010-01-20 7:57 ` thomas schorpp @ 2010-01-20 8:51 ` Tejun Heo 0 siblings, 0 replies; 13+ messages in thread From: Tejun Heo @ 2010-01-20 8:51 UTC (permalink / raw) To: thomas.schorpp Cc: thomas schorpp, Mikael Pettersson, Robert Hancock, linux-ide Hello, On 01/20/2010 04:57 PM, thomas schorpp wrote: >> I think AC_ERR_OTHER can still be too much. AC_ERR_* bits should only >> be set when the command failed for that reason. Here, underrun is > > Overruns from my port status log, not underruns? > port_status 0x20280000, 0x2020, (Data Transfer Overrun Error & Target > Device Fault)? Well, it depends on which way you look from. It's data underrun from the device and overrun from the sglist. Apparently sata_promise likes to see it from the sglist. :-) >> expected, so not really an error condition. But, for example, under >> or overrun for an ATA R/W command should trigger HSM failure. I think >> the above error detection logic needs to be improved a bit. > > Well I generally don't feel comfortable with any unknown state output > EHs, too, but if ata spec conformant, we're fine, aren't we? Yeap, I was just saying that the condition here wasn't really an error condition and as such shouldn't set AC_ERR_* bit. Thanks. -- tejun ^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2010-01-20 8:45 UTC | newest] Thread overview: 13+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2009-12-27 20:37 HSM violations from ATA PACKET cmd ABRT errors in initial comms with LG GH22 SATA DVDRW thomas schorpp 2009-12-27 21:43 ` Robert Hancock 2009-12-28 23:44 ` Mikael Pettersson 2009-12-29 9:06 ` thomas schorpp 2009-12-30 22:40 ` thomas schorpp 2009-12-31 11:55 ` thomas schorpp 2010-01-03 21:36 ` Mikael Pettersson 2010-01-04 2:00 ` thomas schorpp 2010-01-04 9:22 ` Mikael Pettersson 2010-01-04 21:06 ` thomas schorpp 2010-01-20 3:00 ` Tejun Heo 2010-01-20 7:57 ` thomas schorpp 2010-01-20 8:51 ` Tejun Heo
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).