HSM violations from ATA PACKET cmd ABRT errors in initial comms with LG GH22 SATA DVDRW
Subsystems (2)
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 00end_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
Quoted 78 lines · thomas schorpp
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_status0x20280000(Data Transfer Overrun Error & Target Device Fault)?Looks like a hardware combination incompatibility. Most applicable
ATA_HORKAGESin sourcecode already tried.Not found the sense code yet since FEATURE specific according to T13/1410D revision 3b.
Comments?
y
tomdmesg |grep -A 10 ata
sata_promise0000: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 ata0xfbefe200irq 17
ata7: SATA max UDMA/133 mmio m4096@0xfbefe000 ata0xfbefe280irq 17
ata8: PATA max UDMA/133 mmio m4096@0xfbefe000 ata0xfbefe300irq 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 Emask0x0SAct0x0SErr0x0action0x6ata6.00:port_status0x20280000
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 Emask0x2(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 Emask0x0SAct0x0SErr0x0action0x6ata6.00:port_status0x20280000
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 Emask0x2(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 Emask0x0SAct0x0SErr0x0action0x6ata6.00:port_status0x20280000
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 Emask0x2(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 Emask0x0SAct0x0SErr0x0action0x6ata6.00:port_status0x20280000
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 Emask0x2(HSM violation)
Quoted 8 lines
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?
Quoted 91 lines · Robert Hancock
Quoted 78 lines · thomas schorpp
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_status0x20280000(Data Transfer Overrun Error & Target Device Fault)?Looks like a hardware combination incompatibility. Most applicable
ATA_HORKAGESin sourcecode already tried.Not found the sense code yet since FEATURE specific according to T13/1410D revision 3b.
Comments?
y
tomdmesg |grep -A 10 ata
sata_promise0000: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 ata0xfbefe200irq 17
ata7: SATA max UDMA/133 mmio m4096@0xfbefe000 ata0xfbefe280irq 17
ata8: PATA max UDMA/133 mmio m4096@0xfbefe000 ata0xfbefe300irq 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 Emask0x0SAct0x0SErr0x0action0x6ata6.00:port_status0x20280000
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 Emask0x2(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 Emask0x0SAct0x0SErr0x0action0x6ata6.00:port_status0x20280000
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 Emask0x2(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 Emask0x0SAct0x0SErr0x0action0x6ata6.00:port_status0x20280000
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 Emask0x2(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 Emask0x0SAct0x0SErr0x0action0x6ata6.00:port_status0x20280000
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 Emask0x2(HSM violation)Quoted 8 lines
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 00Well, 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?)
Quoted 6 lines
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_promiseraises 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.
Quoted 1 line
What were the errors you were seeing on the VIA controller?
I'd like to see that too.
/Mikael
Quoted 99 lines · Mikael Pettersson
Quoted 91 lines · Robert Hancock
Quoted 78 lines · thomas schorpp
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_status0x20280000(Data Transfer Overrun Error & Target Device Fault)?Looks like a hardware combination incompatibility. Most applicable
ATA_HORKAGESin sourcecode already tried.Not found the sense code yet since FEATURE specific according to T13/1410D revision 3b.
Comments?
y
tomdmesg |grep -A 10 ata
sata_promise0000: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 ata0xfbefe200irq 17
ata7: SATA max UDMA/133 mmio m4096@0xfbefe000 ata0xfbefe280irq 17
ata8: PATA max UDMA/133 mmio m4096@0xfbefe000 ata0xfbefe300irq 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 Emask0x0SAct0x0SErr0x0action0x6ata6.00:port_status0x20280000
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 Emask0x2(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 Emask0x0SAct0x0SErr0x0action0x6ata6.00:port_status0x20280000
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 Emask0x2(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 Emask0x0SAct0x0SErr0x0action0x6ata6.00:port_status0x20280000
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 Emask0x2(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 Emask0x0SAct0x0SErr0x0action0x6ata6.00:port_status0x20280000
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 Emask0x2(HSM violation)Quoted 8 lines
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 00Well, 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?)
Quoted 6 lines
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_promiseraises 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.
Quoted 6 lines
Thanks for the report. I'll try to come up with a patch to reduce the severity of overruns to something less than HSM.
Quoted 1 line
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
Quoted 99 lines · Mikael Pettersson
Quoted 91 lines · Robert Hancock
Quoted 78 lines · thomas schorpp
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_status0x20280000(Data Transfer Overrun Error & Target Device Fault)?Looks like a hardware combination incompatibility. Most applicable
ATA_HORKAGESin sourcecode already tried.Not found the sense code yet since FEATURE specific according to T13/1410D revision 3b.
Comments?
y
tomdmesg |grep -A 10 ata
sata_promise0000: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 ata0xfbefe200irq 17
ata7: SATA max UDMA/133 mmio m4096@0xfbefe000 ata0xfbefe280irq 17
ata8: PATA max UDMA/133 mmio m4096@0xfbefe000 ata0xfbefe300irq 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 Emask0x0SAct0x0SErr0x0action0x6ata6.00:port_status0x20280000
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 Emask0x2(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 Emask0x0SAct0x0SErr0x0action0x6ata6.00:port_status0x20280000
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 Emask0x2(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 Emask0x0SAct0x0SErr0x0action0x6ata6.00:port_status0x20280000
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 Emask0x2(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 Emask0x0SAct0x0SErr0x0action0x6ata6.00:port_status0x20280000
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 Emask0x2(HSM violation)Quoted 8 lines
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 00Well, 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?)
Quoted 6 lines
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_promiseraises 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.
Quoted 6 lines
Thanks for the report. I'll try to come up with a patch to reduce the severity of overruns to something less than HSM.
Quoted 1 line
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
...
Quoted 89 lines · Mikael Pettersson
Quoted 88 lines · Robert Hancock
Quoted 86 lines · thomas schorpp
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_status0x20280000(Data Transfer Overrun Error & Target Device Fault)?Looks like a hardware combination incompatibility. Most applicable
ATA_HORKAGESin sourcecode already tried.Not found the sense code yet since FEATURE specific according to T13/1410D revision 3b.
Comments?
y
tomdmesg |grep -A 10 ata
sata_promise0000: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 ata0xfbefe200irq 17
ata7: SATA max UDMA/133 mmio m4096@0xfbefe000 ata0xfbefe280irq 17
ata8: PATA max UDMA/133 mmio m4096@0xfbefe000 ata0xfbefe300irq 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 Emask0x0SAct0x0SErr0x0action0x6ata6.00:port_status0x20280000
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 Emask0x2(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 Emask0x0SAct0x0SErr0x0action0x6ata6.00:port_status0x20280000
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 Emask0x2(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 Emask0x0SAct0x0SErr0x0action0x6ata6.00:port_status0x20280000
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 Emask0x2(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 Emask0x0SAct0x0SErr0x0action0x6ata6.00:port_status0x20280000
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 Emask0x2(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
Quoted 2 lines
Quoted 2 lines
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.
Quoted 8 lines
Quoted 7 lines
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_promiseraises 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.
Quoted 4 lines
Thanks for the report. I'll try to come up with a patch to reduce the severity of overruns to something less than HSM.
Quoted 1 line
What were the errors you were seeing on the VIA controller?
See previous mails in thread.
Quoted 2 lines
I'd like to see that too.
See previous mails in thread.
Quoted 3 lines
/Mikael
Quoted 99 lines · Mikael Pettersson
Quoted 91 lines · Robert Hancock
Quoted 78 lines · thomas schorpp
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_status0x20280000(Data Transfer Overrun Error & Target Device Fault)?Looks like a hardware combination incompatibility. Most applicable
ATA_HORKAGESin sourcecode already tried.Not found the sense code yet since FEATURE specific according to T13/1410D revision 3b.
Comments?
y
tomdmesg |grep -A 10 ata
sata_promise0000: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 ata0xfbefe200irq 17
ata7: SATA max UDMA/133 mmio m4096@0xfbefe000 ata0xfbefe280irq 17
ata8: PATA max UDMA/133 mmio m4096@0xfbefe000 ata0xfbefe300irq 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 Emask0x0SAct0x0SErr0x0action0x6ata6.00:port_status0x20280000
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 Emask0x2(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 Emask0x0SAct0x0SErr0x0action0x6ata6.00:port_status0x20280000
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 Emask0x2(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 Emask0x0SAct0x0SErr0x0action0x6ata6.00:port_status0x20280000
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 Emask0x2(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 Emask0x0SAct0x0SErr0x0action0x6ata6.00:port_status0x20280000
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 Emask0x2(HSM violation)Quoted 8 lines
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 00Well, 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?)
Quoted 6 lines
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_promiseraises 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.
Quoted 2 lines
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
drivers/ata/sata_promise.c renamed from drivers/ata/sata_promise.c.~1~ +1 -1
@@ -862,7 +862,7 @@ static void pdc_error_intr(struct ata_poif (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
Quoted 116 lines · Mikael Pettersson
Quoted 99 lines · Mikael Pettersson
Quoted 91 lines · Robert Hancock
Quoted 78 lines · thomas schorpp
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_status0x20280000(Data Transfer Overrun Error & Target Device Fault)?Looks like a hardware combination incompatibility. Most applicable
ATA_HORKAGESin sourcecode already tried.Not found the sense code yet since FEATURE specific according to T13/1410D revision 3b.
Comments?
y
tomdmesg |grep -A 10 ata
sata_promise0000: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 ata0xfbefe200irq 17
ata7: SATA max UDMA/133 mmio m4096@0xfbefe000 ata0xfbefe280irq 17
ata8: PATA max UDMA/133 mmio m4096@0xfbefe000 ata0xfbefe300irq 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 Emask0x0SAct0x0SErr0x0action0x6ata6.00:port_status0x20280000
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 Emask0x2(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 Emask0x0SAct0x0SErr0x0action0x6ata6.00:port_status0x20280000
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 Emask0x2(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 Emask0x0SAct0x0SErr0x0action0x6ata6.00:port_status0x20280000
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 Emask0x2(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 Emask0x0SAct0x0SErr0x0action0x6ata6.00:port_status0x20280000
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 Emask0x2(HSM violation)Quoted 8 lines
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 00Well, 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?)
Quoted 6 lines
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_promiseraises 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.Quoted 2 lines
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 useAC_ERR_OTHER, or possiblyAC_ERR_DEV, or possibly noAC_ERR_at all (i.e., zero). So please first try the patch below. If it doesn't eliminate the reset loop, change theAC_ERR_OTHERtoAC_ERR_DEVand try again. And if that one still causes reset loops, try a plain 0./Mikael
drivers/ata/sata_promise.c static void pdc_error_intr(struct ata_po · line 868
Quoted 8 lines
drivers/ata/sata_promise.c renamed from drivers/ata/sata_promise.c.~1~ +1
-1@@ -862,7 +862,7 @@ static void pdc_error_intr(struct ata_poif (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
Quoted 129 lines · thomas schorpp
Quoted 116 lines · Mikael Pettersson
Quoted 99 lines · Mikael Pettersson
Quoted 91 lines · Robert Hancock
Quoted 78 lines · thomas schorpp
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_status0x20280000(Data Transfer Overrun Error & Target Device Fault)?Looks like a hardware combination incompatibility. Most applicable
ATA_HORKAGESin sourcecode already tried.Not found the sense code yet since FEATURE specific according to T13/1410D revision 3b.
Comments?
y
tomdmesg |grep -A 10 ata
sata_promise0000: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 ata0xfbefe200irq 17
ata7: SATA max UDMA/133 mmio m4096@0xfbefe000 ata0xfbefe280irq 17
ata8: PATA max UDMA/133 mmio m4096@0xfbefe000 ata0xfbefe300irq 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 Emask0x0SAct0x0SErr0x0action0x6ata6.00:port_status0x20280000
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 Emask0x2(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 Emask0x0SAct0x0SErr0x0action0x6ata6.00:port_status0x20280000
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 Emask0x2(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 Emask0x0SAct0x0SErr0x0action0x6ata6.00:port_status0x20280000
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 Emask0x2(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 Emask0x0SAct0x0SErr0x0action0x6ata6.00:port_status0x20280000
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 Emask0x2(HSM violation)Quoted 8 lines
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 00Well, 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?)
Quoted 6 lines
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_promiseraises 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.Quoted 2 lines
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 useAC_ERR_OTHER, or possiblyAC_ERR_DEV, or possibly noAC_ERR_at all (i.e., zero). So please first try the patch below. If it doesn't eliminate the reset loop, change theAC_ERR_OTHERtoAC_ERR_DEVand try again. And if that one still causes reset loops, try a plain 0./Mikael
drivers/ata/sata_promise.c static void pdc_error_intr(struct ata_po · line 868
Quoted 8 lines
drivers/ata/sata_promise.c renamed from drivers/ata/sata_promise.c.~1~ +1
-1@@ -862,7 +862,7 @@ static void pdc_error_intr(struct ata_poif (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_ERRFIXED with
AC_ERR_OTHER.
TESTED Drive reads and writes media fine.
Quoted 1 line
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
Quoted 130 lines · Mikael Pettersson
Quoted 129 lines · thomas schorpp
Quoted 116 lines · Mikael Pettersson
Quoted 99 lines · Mikael Pettersson
Quoted 91 lines · Robert Hancock
Quoted 78 lines · thomas schorpp
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_status0x20280000(Data Transfer Overrun Error & Target Device Fault)?Looks like a hardware combination incompatibility. Most applicable
ATA_HORKAGESin sourcecode already tried.Not found the sense code yet since FEATURE specific according to T13/1410D revision 3b.
Comments?
y
tomdmesg |grep -A 10 ata
sata_promise0000: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 ata0xfbefe200irq 17
ata7: SATA max UDMA/133 mmio m4096@0xfbefe000 ata0xfbefe280irq 17
ata8: PATA max UDMA/133 mmio m4096@0xfbefe000 ata0xfbefe300irq 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 Emask0x0SAct0x0SErr0x0action0x6ata6.00:port_status0x20280000
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 Emask0x2(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 Emask0x0SAct0x0SErr0x0action0x6ata6.00:port_status0x20280000
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 Emask0x2(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 Emask0x0SAct0x0SErr0x0action0x6ata6.00:port_status0x20280000
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 Emask0x2(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 Emask0x0SAct0x0SErr0x0action0x6ata6.00:port_status0x20280000
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 Emask0x2(HSM violation)Quoted 8 lines
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 00Well, 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?)
Quoted 6 lines
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_promiseraises 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.Quoted 2 lines
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 useAC_ERR_OTHER, or possiblyAC_ERR_DEV, or possibly noAC_ERR_at all (i.e., zero). So please first try the patch below. If it doesn't eliminate the reset loop, change theAC_ERR_OTHERtoAC_ERR_DEVand try again. And if that one still causes reset loops, try a plain 0./Mikael
drivers/ata/sata_promise.c static void pdc_error_intr(struct ata_po · line 868
Quoted 8 lines
drivers/ata/sata_promise.c renamed from drivers/ata/sata_promise.c.~1~ +1
-1@@ -862,7 +862,7 @@ static void pdc_error_intr(struct ata_poif (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_ERRFIXED with
AC_ERR_OTHER.
TESTED Drive reads and writes media fine.
Quoted 6 lines
Quoted 1 line
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.12sata_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 00end_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 00end_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 00end_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 00end_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 00end_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 00end_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 00end_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 00end_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 00end_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 00end_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 00end_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 00end_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 00end_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 00end_request: I/O error, dev sr0, sector 0
No messages for R/W of data media.
y
tom
Hello, Mikael.
Quoted 12 lines · Mikael Pettersson
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 useAC_ERR_OTHER, or possiblyAC_ERR_DEV, or possibly noAC_ERR_at all (i.e., zero). So please first try the patch below. If it doesn't eliminate the reset loop, change theAC_ERR_OTHERtoAC_ERR_DEVand try again. And if that one still causes reset loops, try a plain 0./Mikael
drivers/ata/sata_promise.c static void pdc_error_intr(struct ata_po · line 865
Quoted 5 lines
drivers/ata/sata_promise.c renamed from drivers/ata/sata_promise.c.~1~ +1
-1@@ -862,7 +862,7 @@ static void pdc_error_intr(struct ata_poif (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.
Signature · 1 line
tejun
Quoted 12 lines · Tejun Heo
Hello, Mikael.
Quoted 9 lines · Mikael Pettersson
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 useAC_ERR_OTHER, or possiblyAC_ERR_DEV, or possibly noAC_ERR_at all (i.e., zero). So please first try the patch below. If it doesn't eliminate the reset loop, change theAC_ERR_OTHERtoAC_ERR_DEVand try again. And if that one still causes reset loops, try a plain 0./Mikael
Quoted 11 lines
drivers/ata/sata_promise.c static void pdc_error_intr(struct ata_po · line 865
Quoted 8 lines
drivers/ata/sata_promise.c renamed from drivers/ata/sata_promise.c.~1~ +1
-1@@ -862,7 +862,7 @@ static void pdc_error_intr(struct ata_poif (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_OTHERcan 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)?
Quoted 3 lines
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
Hello,
Quoted 6 lines · thomas schorpp
Quoted 2 lines
I think
AC_ERR_OTHERcan still be too much. AC_ERR_* bits should only be set when the command failed for that reason. Here, underrun isOverruns from my port status log, not underruns?
port_status0x20280000,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. :-)
Quoted 6 lines
Quoted 3 lines
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.
Signature · 1 line
tejun