Distribution: Debian Sarge Hardware Environment: HP nx7000 notebook (Centrino-based) Software Environment: Custom kernels compiled from vanilla sources (no patches), chipset uses the piix-driver. Problem Description: I get errors about DMA: Apr 6 22:57:15 nx7000 kernel: hda: dma_timer_expiry: dma status == 0x21 Apr 6 22:57:25 nx7000 kernel: hda: DMA timeout error Apr 6 22:57:25 nx7000 kernel: hda: dma timeout error: status=0xd0 { Busy } Apr 6 22:57:25 nx7000 kernel: Apr 6 22:57:25 nx7000 kernel: hda: DMA disabled Apr 6 22:57:25 nx7000 kernel: ide0: reset: success Apr 6 23:04:08 nx7000 kernel: hda: dma_timer_expiry: dma status == 0x21 Apr 6 23:04:18 nx7000 kernel: hda: DMA timeout error Apr 6 23:04:18 nx7000 kernel: hda: dma timeout error: status=0xd0 { Busy } Apr 6 23:04:18 nx7000 kernel: Apr 6 23:04:18 nx7000 kernel: hda: DMA disabled Apr 6 23:04:18 nx7000 kernel: ide0: reset: success Apr 6 23:12:57 nx7000 kernel: hda: dma_timer_expiry: dma status == 0x21 Apr 6 23:13:07 nx7000 kernel: hda: DMA timeout error Apr 6 23:13:07 nx7000 kernel: hda: dma timeout error: status=0xd0 { Busy } Apr 6 23:13:07 nx7000 kernel: Apr 6 23:13:07 nx7000 kernel: hda: DMA disabled Apr 6 23:13:07 nx7000 kernel: ide0: reset: success . . . Steps to reproduce: Always happens under heavy I/O, with the hard-drive as well as the CD drive. If you rip a CD for example, DMA gets disabled for the CD drive after some time. DMA doesn't get disabled on the hard-drive as it seems, but I also get errors there. The errors above were created when I copied large files from a nfs-filesystem. Here is the kernel output from the driver initialization: Apr 6 22:49:14 nx7000 kernel: ICH4: IDE controller at PCI slot 0000:00:1f.1 Apr 6 22:49:14 nx7000 kernel: PCI: Enabling device 0000:00:1f.1 (0005 -> 0007) Apr 6 22:49:14 nx7000 kernel: ICH4: chipset revision 1 Apr 6 22:49:14 nx7000 kernel: ICH4: not 100%% native mode: will probe irqs later Apr 6 22:49:14 nx7000 kernel: ide0: BM-DMA at 0x4c40-0x4c47, BIOS settings: hda:DMA, hdb:pio Apr 6 22:49:14 nx7000 kernel: ide1: BM-DMA at 0x4c48-0x4c4f, BIOS settings: hdc:DMA, hdd:pio Apr 6 22:49:14 nx7000 kernel: hda: IC25N040ATMR04-0, ATA DISK drive Apr 6 22:49:14 nx7000 kernel: ide0 at 0x1f0-0x1f7,0x3f6 on irq 14 Apr 6 22:49:14 nx7000 kernel: hdc: DW-224E, ATAPI CD/DVD-ROM drive Apr 6 22:49:14 nx7000 kernel: ide1 at 0x170-0x177,0x376 on irq 15 Apr 6 22:49:14 nx7000 kernel: hda: max request size: 1024KiB Apr 6 22:49:14 nx7000 kernel: hda: 78140160 sectors (40007 MB) w/1740KiB Cache, CHS=16383/255/63, UDMA(100) Apr 6 22:49:14 nx7000 kernel: /dev/ide/host0/bus0/target0/lun0: p1 p2 < p5 p6 p7 > Apr 6 22:49:14 nx7000 kernel: hdc: ATAPI 24X DVD-ROM CD-R/RW CD-MR drive, 1658kB Cache, DMA Apr 6 22:49:14 nx7000 kernel: Uniform CD-ROM driver Revision: 3.20 . . . lspci says: 0000:00:1f.1 IDE interface: Intel Corp. 82801DBM (ICH4) Ultra ATA Storage Controller (rev 01)
I've got the same problem with a different Laptop but with the same chipset i855 (centrino) lspci output: 0000:00:1f.1 IDE interface: Intel Corp. 82801DBM (ICH4) Ultra ATA Storage Controller (rev 03)
Is this problem still present in kernel 2.6.13-rc4?
My personal experience is that this bug happens less often now, but I saw it quite recently: Sep 4 19:32:32 [kernel] hda: dma_timer_expiry: dma status == 0x21 Sep 4 19:32:42 [kernel] hda: DMA timeout error Sep 4 19:32:42 [kernel] ide0: reset: success Sep 4 19:57:55 [kernel] hda: dma_timer_expiry: dma status == 0x21 Sep 4 19:58:06 [kernel] hda: DMA timeout error This happened on a Linux version 2.6.13-pcmcia (brodo@sternenlicht) (gcc-Version 3.3.5-20050130 (Gentoo Hardened Linux 3.3.5.20050130-r1, ssp-3 .3.5.20050130-1, pie-8.7.7.1)) #1 Mon Aug 29 11:38:03 CEST 2005 (2.6.13-vanilla with a few PCMCIA bugfixes already in -mm).
Still present in 2.6.15-git-as-of-yesterday: [4295276.301000] hda: dma_timer_expiry: dma status == 0x21 [4295286.301000] hda: DMA timeout error [4295286.301000] hda: dma timeout error: status=0xd0 { Busy } [4295286.301000] ide: failed opcode was: unknown [4295286.301000] hda: DMA disabled [4295286.351000] ide0: reset: success
Does the problem exist with recent kernels? Thanks.
Unfortunately, can't test this any more as my notebook is broken. Should we set this bug to REJECTED - INSUFFICIENT DATA?
I guess so... Thanks for update on this anyway.