Description of problem: Copying large files generates periodic system hangs, and the log shows: kernel: hda: dma_timer_expiry: dma status == 0x24 kernel: hda: DMA interrupt recovery kernel: hda: lost interrupt Version-Release number of selected component (if applicable): kernel-2.6.8-1.521 How reproducible: Every time. Steps to Reproduce: 1.Copy large files 2.wait 3.observe hang, followed by message in log Actual results: Copy works but system hangs periodically with DMA timeout Expected results: Copy works, with no DMA timeouts Additional info: lspci -vvv: 00:00.0 Host bridge: VIA Technologies, Inc. VT8385 [K8T800 AGP] Host Bridge (rev 01) Subsystem: Asustek Computer, Inc.: Unknown device 80a3 Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- Status: Cap+ 66Mhz+ UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort+ >SERR- <PERR- Latency: 8 Region 0: Memory at f8000000 (32-bit, prefetchable) Capabilities: [80] AGP version 3.5 Status: RQ=32 Iso- ArqSz=0 Cal=2 SBA+ ITACoh- GART64- HTrans- 64bit- FW+ AGP3+ Rate=x8 Command: RQ=1 ArqSz=0 Cal=2 SBA+ AGP+ GART64- 64bit- FW- Rate=x8 Capabilities: [c0] #08 [0060] Capabilities: [68] 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- Capabilities: [58] #08 [8001] 00:01.0 PCI bridge: VIA Technologies, Inc. VT8237 PCI bridge [K8T800 South] (prog-if 00 [Normal decode]) Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- Status: Cap+ 66Mhz+ UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- Latency: 0 Bus: primary=00, secondary=01, subordinate=01, sec-latency=0 I/O behind bridge: 0000f000-00000fff Memory behind bridge: f4d00000-f6efffff Prefetchable memory behind bridge: d4c00000-f4bfffff BridgeCtl: Parity- SERR+ NoISA- VGA+ MAbort- >Reset- FastB2B- Capabilities: [80] 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- 00:07.0 FireWire (IEEE 1394): VIA Technologies, Inc. IEEE 1394 Host Controller (rev 80) (prog-if 10 [OHCI]) Subsystem: Asustek Computer, Inc.: Unknown device 808a Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop- ParErr- Stepping- SERR+ FastB2B- Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- Latency: 64 (8000ns max), Cache Line Size 40 Interrupt: pin A routed to IRQ 169 Region 0: Memory at f7800000 (32-bit, non-prefetchable) Region 1: I/O ports at cc00 [size=128] Capabilities: [50] 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- 00:08.0 RAID bus controller: Promise Technology, Inc. PDC20378 (SATA150 TX) (rev 02) Subsystem: Asustek Computer, Inc.: Unknown device 80f5 Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop- ParErr- Stepping- SERR+ FastB2B- Status: Cap+ 66Mhz+ UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- Latency: 96 (1000ns min, 4500ns max), Cache Line Size 91 Interrupt: pin A routed to IRQ 177 Region 0: I/O ports at 9000 Region 1: I/O ports at ec00 [size=16] Region 2: I/O ports at dc00 [size=128] Region 3: Memory at f7a00000 (32-bit, non-prefetchable) [size=4K] Region 4: Memory at f7900000 (32-bit, non-prefetchable) [size=128K] Capabilities: [60] 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- 00:0a.0 Ethernet controller: Marvell Yukon Gigabit Ethernet 10/100/1000Base-T Adapter (rev 13) Subsystem: Asustek Computer, Inc.: Unknown device 811a Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop- ParErr- Stepping- SERR+ FastB2B- Status: Cap+ 66Mhz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- Latency: 64 (5750ns min, 7750ns max), Cache Line Size 40 Interrupt: pin A routed to IRQ 185 Region 0: Memory at f7c00000 (32-bit, non-prefetchable) [size=f7b00000] Region 1: I/O ports at 9400 [size=256] Expansion ROM at 00020000 [disabled] Capabilities: [48] Power Management version 2 Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0+,D1+,D2+,D3hot+,D3cold+) Status: D0 PME-Enable- DSel=0 DScale=1 PME- Capabilities: [50] Vital Product Data 00:0c.0 Unknown mass storage controller: Promise Technology, Inc. 20262 (rev 01) Subsystem: Promise Technology, Inc. Ultra66 Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- Status: Cap- 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- Latency: 64 Interrupt: pin A routed to IRQ 185 Region 0: I/O ports at b000 [size=f7d00000] Region 1: I/O ports at a800 [size=4] Region 2: I/O ports at a400 [size=8] Region 3: I/O ports at a000 [size=4] Region 4: I/O ports at 9800 [size=64] Region 5: Memory at f7e00000 (32-bit, non-prefetchable) [size=128K] Expansion ROM at 00010000 [disabled] 00:0f.0 RAID bus controller: VIA Technologies, Inc. VIA VT6420 SATA RAID Controller (rev 80) Subsystem: Asustek Computer, Inc. A7V600 motherboard Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- Latency: 64 Interrupt: pin B routed to IRQ 193 Region 0: I/O ports at e800 Region 1: I/O ports at e400 [size=4] Region 2: I/O ports at e000 [size=8] Region 3: I/O ports at d800 [size=4] Region 4: I/O ports at d400 [size=16] Region 5: I/O ports at d000 [size=256] Capabilities: [c0] 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- 00:0f.1 IDE interface: VIA Technologies, Inc. VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (rev 06) (prog-if 8a [Master SecP PriP]) Subsystem: Asustek Computer, Inc. A7V600 motherboard Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- Latency: 32 Interrupt: pin A routed to IRQ 193 Region 4: I/O ports at fc00 [size=16] Capabilities: [c0] 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- 00:10.0 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 81) (prog-if 00 [UHCI]) Subsystem: Asustek Computer, Inc. A7V600 motherboard Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop- ParErr- Stepping- SERR- FastB2B- Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- Latency: 64, Cache Line Size 40 Interrupt: pin A routed to IRQ 201 Region 4: I/O ports at b400 [size=32] Capabilities: [80] Power Management version 2 Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=375mA PME(D0+,D1+,D2+,D3hot+,D3cold+) Status: D0 PME-Enable- DSel=0 DScale=0 PME+ 00:10.1 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 81) (prog-if 00 [UHCI]) Subsystem: Asustek Computer, Inc. A7V600 motherboard Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop- ParErr- Stepping- SERR- FastB2B- Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- Latency: 64, Cache Line Size 40 Interrupt: pin A routed to IRQ 201 Region 4: I/O ports at b800 [size=32] Capabilities: [80] Power Management version 2 Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=375mA PME(D0+,D1+,D2+,D3hot+,D3cold+) Status: D0 PME-Enable- DSel=0 DScale=0 PME+ 00:10.2 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 81) (prog-if 00 [UHCI]) Subsystem: Asustek Computer, Inc. A7V600 motherboard Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop- ParErr- Stepping- SERR- FastB2B- Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- Latency: 64, Cache Line Size 40 Interrupt: pin B routed to IRQ 201 Region 4: I/O ports at c000 [size=32] Capabilities: [80] Power Management version 2 Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=375mA PME(D0+,D1+,D2+,D3hot+,D3cold+) Status: D0 PME-Enable- DSel=0 DScale=0 PME+ 00:10.3 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 81) (prog-if 00 [UHCI]) Subsystem: Asustek Computer, Inc. A7V600 motherboard Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop- ParErr- Stepping- SERR- FastB2B- Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- Latency: 64, Cache Line Size 40 Interrupt: pin B routed to IRQ 201 Region 4: I/O ports at c400 [size=32] Capabilities: [80] Power Management version 2 Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=375mA PME(D0+,D1+,D2+,D3hot+,D3cold+) Status: D0 PME-Enable- DSel=0 DScale=0 PME- 00:10.4 USB Controller: VIA Technologies, Inc. USB 2.0 (rev 86) (prog-if 20 [EHCI]) Subsystem: Asustek Computer, Inc. A7V600 motherboard Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop- ParErr- Stepping- SERR- FastB2B- Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- Latency: 64, Cache Line Size 40 Interrupt: pin C routed to IRQ 201 Region 0: Memory at f7f00000 (32-bit, non-prefetchable) Capabilities: [80] Power Management version 2 Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=375mA PME(D0+,D1+,D2+,D3hot+,D3cold+) Status: D0 PME-Enable- DSel=0 DScale=0 PME- 00:11.0 ISA bridge: VIA Technologies, Inc. VT8237 ISA bridge [K8T800 South] Subsystem: Asustek Computer, Inc. A7V600 motherboard Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping+ SERR- FastB2B- Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- Latency: 0 Capabilities: [c0] 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- 00:11.5 Multimedia audio controller: VIA Technologies, Inc. VT8233/A/8235/8237 AC97 Audio Controller (rev 60) Subsystem: Asustek Computer, Inc. A7V600 motherboard (ADI AD1980 codec [SoundMAX]) Control: I/O+ Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- Interrupt: pin C routed to IRQ 209 Region 0: I/O ports at c800 Capabilities: [c0] 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- 00:18.0 Host bridge: Advanced Micro Devices [AMD] K8 NorthBridge Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- Capabilities: [80] #08 [2101] 00:18.1 Host bridge: Advanced Micro Devices [AMD] K8 NorthBridge Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- Status: Cap- 66Mhz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- 00:18.2 Host bridge: Advanced Micro Devices [AMD] K8 NorthBridge Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- Status: Cap- 66Mhz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- 00:18.3 Host bridge: Advanced Micro Devices [AMD] K8 NorthBridge Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- Status: Cap- 66Mhz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- 01:00.0 VGA compatible controller: nVidia Corporation NV31 [GeForce FX 5600XT] (rev a1) (prog-if 00 [VGA]) Subsystem: Micro-Star International Co., Ltd.: Unknown device 9123 Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- Status: Cap+ 66Mhz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- Latency: 248 (1250ns min, 250ns max) Interrupt: pin A routed to IRQ 169 Region 0: Memory at f5000000 (32-bit, non-prefetchable) [size=f6e00000] Region 1: Memory at e0000000 (32-bit, prefetchable) [size=256M] Expansion ROM at 00020000 [disabled] Capabilities: [60] 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- Capabilities: [44] AGP version 3.0 Status: RQ=32 Iso- ArqSz=0 Cal=3 SBA+ ITACoh- GART64- HTrans- 64bit- FW+ AGP3+ Rate=x4,x8 Command: RQ=32 ArqSz=0 Cal=0 SBA+ AGP+ GART64- 64bit- FW- Rate=x8 hdparm /dev/hda: /dev/hda: multcount = 16 (on) IO_support = 3 (32-bit w/sync) unmaskirq = 0 (off) using_dma = 1 (on) keepsettings = 0 (off) readonly = 0 (off) readahead = 256 (on) geometry = 65535/16/63, sectors = 156355584, start = 0 hdparm /dev/hdc: /dev/hdc: multcount = 16 (on) IO_support = 3 (32-bit w/sync) unmaskirq = 0 (off) using_dma = 1 (on) keepsettings = 0 (off) readonly = 0 (off) readahead = 256 (on) geometry = 65535/16/63, sectors = 156355584, start = 0 hdparm -i /dev/hda: /dev/hda: Model=MAXTOR 6L080J4, FwRev=A93.0500, SerialNo=664226610671 Config={ HardSect NotMFM HdSw>15uSec Fixed DTR>10Mbs } RawCHS=16383/16/63, TrkSize=32256, SectSize=21298, ECCbytes=4 BuffType=DualPortCache, BuffSize=1819kB, MaxMultSect=16, MultSect=16 CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=156355584 IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120} PIO modes: pio0 pio1 pio2 pio3 pio4 DMA modes: mdma0 mdma1 mdma2 UDMA modes: udma0 udma1 udma2 udma3 udma4 udma5 *udma6 AdvancedPM=no WriteCache=enabled Drive conforms to: ATA/ATAPI-5 T13 1321D revision 1: * signifies the current active mode hdparm -i /dev/hdc: /dev/hdc: Model=MAXTOR 6L080J4, FwRev=A93.0500, SerialNo=664131905170 Config={ HardSect NotMFM HdSw>15uSec Fixed DTR>10Mbs } RawCHS=16383/16/63, TrkSize=32256, SectSize=21298, ECCbytes=4 BuffType=DualPortCache, BuffSize=1819kB, MaxMultSect=16, MultSect=16 CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=156355584 IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120} PIO modes: pio0 pio1 pio2 pio3 pio4 DMA modes: mdma0 mdma1 mdma2 UDMA modes: udma0 udma1 udma2 udma3 udma4 udma5 *udma6 AdvancedPM=no WriteCache=enabled Drive conforms to: ATA/ATAPI-5 T13 1321D revision 1: * signifies the current active mode /proc/mdstat: Personalities : [raid1] md1 : active raid1 hda2[0] hdc2[1] 2047488 blocks [2/2] [UU] md2 : active raid1 hda3[0] hdc3[1] 76027136 blocks [2/2] [UU] md0 : active raid1 hda1[0] hdc1[1] 102144 blocks [2/2] [UU] unused devices: <none>
Le me guess, x86_64 system with a Via chipset. Same problem I am having. Mace, please read the thread below and see if you can help out by testing. thanks. http://www.x86-64.org/lists/discuss/msg05595.html
Yes, it's x86_64 with a Via chipset (Asus K8V Deluxe SE). I've also found this thread that looks like a patch was made for 2.6.7, that is not in the current (2.6.8-1.521) kernel, since I also have Promise IDE controllers: http://lkml.org/lkml/2004/6/21/101 I'm not running the Powernow-k8 driver, but ACPI is enabled. I can try to reboot with acpi=off, and see if there is any change.
This machine wouldn't boot with acpi=off, but from another thread I noticed mention of noapic for a similar problem. Even though this machine only has a single CPU, it was still using the APIC. I booted with noapic, and noted a message that indicated I should use pci=usepirqmask, which I added (now booting with noapic pci=usepirqmask). Everything is working fine. No more DMA timeouts. Because of this (even though WinXP on this machine had no problem, and no problem from earlier kernels), I'm considering the problem to be a broken BIOS. If anyone disagrees, feel free to contact me about re-opening this bug report.
It doesn't appear to be a BIOS problem. I've tested the patch at http://linux.bkbits.net:8080/linux-2.5/cset@1.2249.1.4?nav=index.html|ChangeSet@-2d which I applied to kernel-2.6.9-1.6_FC2, and it appears to fix the problem :-) I'll attach the patch here too.
Created attachment 107616 [details] Patch against kernel-2.6.9-1.6_FC2 kernel
You can download FC2 kernels here: http://www-xray.ast.cam.ac.uk/~jss/data/kernel-2.6.9-1.7_jss.x86_64.rpm http://www-xray.ast.cam.ac.uk/~jss/data/kernel-2.6.9-1.7_jss.src.rpm
Confirming that the above patch in comment #5 corrects the problem for me as well (ASUS K8V SE Deluxe motherboard, AMD64 3200+). No kernel boot parameters needed, no DMA timeouts, all drives performing normally.
Just noting that the BitKeeper patch for this is at: http://linux.bkbits.net:8080/linux-2.6/cset@41ab96fdZlEXh3DOEF_DLUySQI2Yeg?nav=index.html|ChangeSet@-2w ChangeSet.55.4 2004-11-29 13:39:09-08:00 ak@de[torvalds]
fixed in cvs. will be in next update.
Confirming that I no longer have the problem in the current release kernel, 2.6.10-1.737_FC3 (earliest kernel I could test). Closing.