Re: sata_via: SError: { UnrecovData Proto TrStaTrns }

From: Krzysztof Halasa
Date: Tue Oct 13 2009 - 19:20:06 EST


Mikael Pettersson <mikpe@xxxxxxxx> writes:

> I couldn't do much about it other than ask the person to take
> it to linux-ide (which I don't think he did), but it does make
> one wonder if there is some issue with the vt6421a when connected
> to an ixp4xx.

I have performed some tests. Is there anything else I can do to fix
this?

VIA VT6421A mini-PCI (Commell MP-6421) card and SATA II SSD from
Transcend.

Machine A: IXP425 (ARM) CPU, 266 MHz. 64 MB RAM - this time all RAM is
accessible to VT6421A. PCI 33 MHz (using mini-PCI adapter). Both
little-endian and big-endian CPU modes exhibit the problems.

Machine B: AMD64 X2, 64-bit kernel, 2 GB RAM. Mini-PCI 33 MHz.

I've written a small program which only reads from disk, using the same
read pattern that was needed for e2fsck. It constists of about 6500 of
(quite random) lseek()s, each followed by read() (sizes from 524 to
32768 bytes). I do ioctl(fd, BLKFLSBUF, 0) first.

It seems I can trigger the problems almost reliably on Machine A with
rmmod sata_via; modprobe sata_via; test_program. Subsequent runs
(without rmmod/modprobe usually don't show any issue).

It usually shows up on Machine B but only once after reboot, subsequent
rmmod + modprobe doesn't seem to trigger it. The test takes about
4 seconds (if the errors don't show up).

The SSD shows no issues when connected directly to SATA port on the
machine B motherboard (NVidia MCP-55).

Machine A shows no issues when connected to a SATA disk. However, the
disk is much slower (seeks are slow, linear transfer from either device
is way above IXP425 ability). The test takes about 10 seconds with SSD
and 20 seconds with the disk. I wonder if it could be a factor.

Machine A (IXP425) doesn't obviously use the card's BIOS, so the
VT6421A is configured a bit differently (ignoring differences in
addresses etc):

--- Machine A (IXP425)
+++ Machine B (x86-64)
-RAID bus controller: VT6421 IDE RAID Controller (rev 50)
+IDE interface: VT6421 IDE RAID Controller (rev 50) (prog-if 8f [Master
SecP SecO PriP PriO])

- Control: Mem- FastB2B+ ...
+ Control: Mem+ FastB2B- ...

Mem - I guess x86-64 enables it for BIOS access. This is the only PCI
device in machine A (ARM).

- Latency: 32
+ Latency: 64

Capabilities: [e0] Power Management version 2
- Status: ...
+ Status: NoSoftRst- ...

-00: 06 11 49 32 05 02 90 02 50 00 04 01 00 20 00 00
+00: 06 11 49 32 07 00 90 02 50 8f 01 01 00 40 00 00
-10: 21 14 00 00 31 14 00 00 41 14 00 00 51 14 00 00
+10: 01 dc 00 00 81 d8 00 00 01 d8 00 00 81 d4 00 00
-20: 01 14 00 00 01 10 00 00 00 00 00 00 06 11 49 32
+20: 01 d4 00 00 01 d0 00 00 00 00 00 00 06 11 49 32
-30: 00 00 ff ff e0 00 00 00 00 00 00 00 1d 01 00 00
+30: 00 00 af fe e0 00 00 00 00 00 00 00 0b 01 00 00
-40: 33 03 f1 44 0e af 00 00 00 00 00 03 00 00 00 00
+40: 33 03 f1 44 06 af 00 00 00 00 00 03 00 00 00 00

-70: 00 00 00 00 01 f0 00 00 01 00 01 00 11 00 00 00
+70: 00 00 00 00 01 f0 00 00 01 00 01 00 10 00 00 00
-80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+80: 00 00 00 00 00 00 00 00 00 80 c7 7d 00 00 00 00


Machine A (IXP425):

RAID bus controller: VIA Technologies, Inc. VT6421 IDE RAID Controller (rev 50)
Subsystem: VIA Technologies, Inc. VT6421 IDE RAID Controller
Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B+ DisINTx-
Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 32
Interrupt: pin A routed to IRQ 29
Region 0: I/O ports at 1420 [size=16]
Region 1: I/O ports at 1430 [size=16]
Region 2: I/O ports at 1440 [size=16]
Region 3: I/O ports at 1450 [size=16]
Region 4: I/O ports at 1400 [size=32]
Region 5: I/O ports at 1000 [size=256]
Expansion ROM at 48000000 [disabled] [size=64K]
Capabilities: [e0] Power Management version 2
Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-
Kernel driver in use: sata_via
Kernel modules: sata_via
00: 06 11 49 32 05 02 90 02 50 00 04 01 00 20 00 00
10: 21 14 00 00 31 14 00 00 41 14 00 00 51 14 00 00
20: 01 14 00 00 01 10 00 00 00 00 00 00 06 11 49 32
30: 00 00 ff ff e0 00 00 00 00 00 00 00 1d 01 00 00
40: 33 03 f1 44 0e af 00 00 00 00 00 03 00 00 00 00
50: 00 00 00 00 00 00 00 00 00 10 10 00 05 00 10 00
60: 00 00 ff ff 00 00 00 00 00 00 00 00 00 00 ff ff
70: 00 00 00 00 01 f0 00 00 01 00 01 00 11 00 00 00
80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
a0: 0b f2 c9 35 10 ac c0 00 a8 a8 a8 a8 ff 00 b6 b6
b0: 0f 0f 1f 1f 34 00 00 00 00 00 20 00 00 00 00 00
c0: 00 02 00 00 00 00 00 00 00 02 00 00 00 00 00 00
d0: 82 01 00 00 00 00 00 00 02 01 00 00 00 00 00 00
e0: 01 00 02 00 00 00 00 00 50 01 49 32 06 11 49 32
f0: 00 00 70 00 00 00 00 00 00 00 00 00 00 00 00 00

ata7: SATA max UDMA/133 port i16@0x1420 bmdma 0x1400 irq 29
ata8: SATA max UDMA/133 port i16@0x1430 bmdma 0x1408 irq 29
ata9: PATA max UDMA/133 port i16@0x1440 bmdma 0x1410 irq 29
ata7: SATA link up 1.5 Gbps (SStatus 113 SControl 310)
ata7.00: ATA-8: TS32GSSD25S-M, V1210, max UDMA/100
ata7.00: 62586880 sectors, multi 0: LBA48 NCQ (depth 0/1)
ata7.00: applying bridge limits
ata7.00: configured for UDMA/100
scsi 6:0:0:0: Direct-Access ATA TS32GSSD25S-M V121 PQ: 0 ANSI: 5
sd 6:0:0:0: [sda] 62586880 512-byte logical blocks: (32.0 GB/29.8 GiB)
sd 6:0:0:0: [sda] Write Protect is off
sd 6:0:0:0: [sda] Mode Sense: 00 3a 00 00
sd 6:0:0:0: [sda] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
sd 6:0:0:0: [sda] Attached SCSI disk
ata8: SATA link down (SStatus 0 SControl 310)

*** running the test program ***

ata7.00: exception Emask 0x12 SAct 0x0 SErr 0x1000500 action 0x6
ata7: SError: { UnrecovData Proto TrStaTrns }
ata7.00: cmd c8/00:98:38:04:74/00:00:00:00:00/e0 tag 0 dma 77824 in
res 40/00:00:00:00:00/00:00:00:00:00/00 Emask 0x32 (host bus error)
ata7.00: status: { DRDY }
ata7: hard resetting link
ata7: SATA link up 1.5 Gbps (SStatus 113 SControl 310)
ata7.00: configured for UDMA/100
ata7.00: device reported invalid CHS sector 0
ata7: EH complete
ata7.00: exception Emask 0x12 SAct 0x0 SErr 0x1000500 action 0x6
ata7.00: BMDMA stat 0x65
ata7: SError: { UnrecovData Proto TrStaTrns }
ata7.00: cmd c8/00:00:d0:05:a8/00:00:00:00:00/e1 tag 0 dma 131072 in
res 51/40:00:d0:05:a8/00:00:00:00:00/e1 Emask 0x12 (ATA bus error)
ata7.00: status: { DRDY ERR }
ata7.00: error: { UNC }
ata7: hard resetting link
ata7: SATA link up 1.5 Gbps (SStatus 113 SControl 310)
ata7.00: configured for UDMA/100
ata7: EH complete
ata7.00: exception Emask 0x12 SAct 0x0 SErr 0x1000500 action 0x6
ata7: SError: { UnrecovData Proto TrStaTrns }
ata7.00: cmd c8/00:40:10:00:2c/00:00:00:00:00/e2 tag 0 dma 32768 in
res 40/00:00:d0:05:a8/00:00:00:00:00/e1 Emask 0x32 (host bus error)
ata7.00: status: { DRDY }
ata7: hard resetting link
ata7: SATA link up 1.5 Gbps (SStatus 113 SControl 310)
ata7.00: configured for UDMA/100
ata7: EH complete
ata7.00: limiting speed to UDMA/66:PIO4
ata7.00: exception Emask 0x12 SAct 0x0 SErr 0x1000500 action 0x6
ata7: SError: { UnrecovData Proto TrStaTrns }
ata7.00: cmd c8/00:00:d0:05:30/00:00:00:00:00/e2 tag 0 dma 131072 in
res 40/00:00:d0:05:a8/00:00:00:00:00/e1 Emask 0x32 (host bus error)
ata7.00: status: { DRDY }
ata7: hard resetting link
ata7: SATA link up 1.5 Gbps (SStatus 113 SControl 310)
ata7.00: configured for UDMA/66
ata7: EH complete



Machine B (x86-64):

IDE interface: VIA Technologies, Inc. VT6421 IDE RAID Controller (rev 50) (prog-if 8f [Master SecP SecO PriP PriO])
Subsystem: VIA Technologies, Inc. VT6421 IDE RAID Controller
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 64
Interrupt: pin A routed to IRQ 19
Region 0: I/O ports at dc00 [size=16]
Region 1: I/O ports at d880 [size=16]
Region 2: I/O ports at d800 [size=16]
Region 3: I/O ports at d480 [size=16]
Region 4: I/O ports at d400 [size=32]
Region 5: I/O ports at d000 [size=256]
Expansion ROM at 88000000 [disabled] [size=64K]
Capabilities: [e0] Power Management version 2
Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
Kernel driver in use: sata_via
Kernel modules: sata_via
00: 06 11 49 32 07 00 90 02 50 8f 01 01 00 40 00 00
10: 01 dc 00 00 81 d8 00 00 01 d8 00 00 81 d4 00 00
20: 01 d4 00 00 01 d0 00 00 00 00 00 00 06 11 49 32
30: 00 00 af fe e0 00 00 00 00 00 00 00 0b 01 00 00
40: 33 03 f1 44 06 af 00 00 00 00 00 03 00 00 00 00
50: 00 00 00 00 00 00 00 00 00 10 10 00 05 00 10 00
60: 00 00 ff ff 00 00 00 00 00 00 00 00 00 00 ff ff
70: 00 00 00 00 01 f0 00 00 01 00 01 00 10 00 00 00
80: 00 00 00 00 00 00 00 00 00 80 c7 7d 00 00 00 00
90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
a0: 0b f2 c9 35 10 ac c0 00 a8 a8 a8 a8 ff 00 b6 b6
b0: 0f 0f 1f 1f 34 00 00 00 00 00 20 00 00 00 00 00
c0: 00 02 00 00 00 00 00 00 00 02 00 00 00 00 00 00
d0: 82 01 00 00 00 00 00 00 02 01 00 00 00 00 00 00
e0: 01 00 02 00 00 00 00 00 50 01 49 32 06 11 49 32
f0: 00 00 70 00 00 00 00 00 00 00 00 00 00 00 00 00

ata5: SATA max UDMA/133 port i16@0xdc00 bmdma 0xd400 irq 19
ata6: SATA max UDMA/133 port i16@0xd880 bmdma 0xd408 irq 19
ata7: PATA max UDMA/133 port i16@0xd800 bmdma 0xd410 irq 19
ata5: SATA link up 1.5 Gbps (SStatus 113 SControl 310)
ata5.00: ATA-8: TS32GSSD25S-M, V1210, max UDMA/100
ata5.00: 62586880 sectors, multi 0: LBA48 NCQ (depth 0/1)
ata5.00: applying bridge limits
ata5.00: configured for UDMA/100
scsi 4:0:0:0: Direct-Access ATA TS32GSSD25S-M V121 PQ: 0 ANSI: 5
sd 4:0:0:0: Attached scsi generic sg2 type 0
sd 4:0:0:0: [sdb] 62586880 512-byte hardware sectors: (32.0 GB/29.8 GiB)
sd 4:0:0:0: [sdb] Write Protect is off
sd 4:0:0:0: [sdb] Mode Sense: 00 3a 00 00
sd 4:0:0:0: [sdb] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
sd 4:0:0:0: [sdb] Attached SCSI disk
ata6: SATA link down (SStatus 0 SControl 310)

*** running the test program ***

ata5.00: exception Emask 0x12 SAct 0x0 SErr 0x1000500 action 0x6 frozen
ata5: SError: { UnrecovData Proto TrStaTrns }
ata5.00: cmd c8/00:00:e0:21:00/00:00:00:00:00/e0 tag 0 dma 131072 in
res 40/00:00:00:00:00/00:00:00:00:00/00 Emask 0x16 (ATA bus error)
ata5.00: status: { DRDY }
ata5: hard resetting link
ata5: SATA link up 1.5 Gbps (SStatus 113 SControl 310)
ata5.00: configured for UDMA/100
ata5.00: device reported invalid CHS sector 0
ata5: EH complete
--
Krzysztof Halasa
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/