Skip to contentSkip to conversation

IDE Timeout problem on Intel PIIX3 (Triton 2) chipset

DISCUSSION Patrick Dreker 2 participants 4 messages Jun 28, 2004 – Jun 29, 2004

lore
Share & tools
lore
#0 lore raw

Hello...

Any kernel above and including 2.4.21 (including 2.6.5 and 2.6.7, others not tested) produces the following errors quite often (once or twice per minute, with the corresponding delay) and the harddisk drops out of DMA.

-------------------------------------------------
hda: dma_timer_expiry: dma status == 0x20
hda: timeout waiting for DMA
hda: timeout waiting for DMA
hda: (__ide_dma_test_irq) called while not waiting
hda: status error: status=0x58 { DriveReady SeekComplete DataRequest }

hda: drive not ready for command
-----------------------------------------------

I have checked that the drive and cable are OK (tested in another machine) and no matter what drive I connect to the IDE controller, they *all* produce the above error and drop DMA after some seconds.

Currently I am stuck at kernel version 2.4.20, as any later kernel severely degrades the performance of the machine (Pentium Pro 200).

At http://www.uwsg.iu.edu/hypermail/linux/kernel/0304.1/0332.html I found a thread which hints that IRQ sharing maybe the culprit, but /proc/interrupts shows that the ide interrupt is not shared...

lspci and /proc/interrupts are included at the end of this mail.

What can I do to debug this problem?

Thanks,
Patrick

lspci:
-----------------------
0000:00:00.0 Host bridge: Intel Corp. 440FX - 82441FX PMC [Natoma] (rev 02) 0000:00:07.0 ISA bridge: Intel Corp. 82371SB PIIX3 ISA [Natoma/Triton II] (rev
01)
0000:00:07.1 IDE interface: Intel Corp. 82371SB PIIX3 IDE [Natoma/Triton II] 0000:00:0a.0 VGA compatible controller: Texas Instruments TVP4020 [Permedia 2] (rev 01)
0000:00:0c.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 10)
0000:00:0d.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8029(AS)
--------------------------

/proc/interrupts:
-------------------------
CPU0

  0:   55623224    IO-APIC-edge  timer
  1:          2    IO-APIC-edge  keyboard
  2:          0          XT-PIC  cascade
  8:          4    IO-APIC-edge  rtc
 10:   59404185   IO-APIC-level  eth1
 11:   64467911   IO-APIC-level  eth0
 14:    9031698    IO-APIC-edge  ide0
NMI:          0
LOC:   55623074
ERR:          0
MIS:      13142

----------------------------

Signature · 5 lines
Patrick Dreker

GPG KeyID  : 0xFCC2F7A7 (Patrick Dreker)
Fingerprint: 7A21 FC7F 707A C498 F370  1008 7044 66DA FCC2 F7A7
Key available from keyservers
#1 lore raw
Quoted 1 line · Patrick Dreker

Hello...

Hi,

Quoted 18 lines

Any kernel above and including 2.4.21 (including 2.6.5 and 2.6.7, others not tested) produces the following errors quite often (once or twice per minute, with the corresponding delay) and the harddisk drops out of DMA.

-------------------------------------------------
hda: dma_timer_expiry: dma status == 0x20
hda: timeout waiting for DMA
hda: timeout waiting for DMA
hda: (__ide_dma_test_irq) called while not waiting
hda: status error: status=0x58 { DriveReady SeekComplete DataRequest }

hda: drive not ready for command
-----------------------------------------------

I have checked that the drive and cable are OK (tested in another machine) and no matter what drive I connect to the IDE controller, they *all* produce the above error and drop DMA after some seconds.

Quoted 6 lines

Currently I am stuck at kernel version 2.4.20, as any later kernel severely degrades the performance of the machine (Pentium Pro 200).

At http://www.uwsg.iu.edu/hypermail/linux/kernel/0304.1/0332.html I found a thread which hints that IRQ sharing maybe the culprit, but /proc/interrupts shows that the ide interrupt is not shared...

This was HPT specific problem.

Quoted 3 lines

lspci and /proc/interrupts are included at the end of this mail.

What can I do to debug this problem?

"diff -u" on "lspci -s 07.1 -xxx" outputs for 2.4.20 and 2.4.21 kernels.

Doing bisection search on 2.4.21-pre kernels would also help.

Quoted 31 lines

Thanks,
Patrick

lspci:
-----------------------
0000:00:00.0 Host bridge: Intel Corp. 440FX - 82441FX PMC [Natoma] (rev 02) 0000:00:07.0 ISA bridge: Intel Corp. 82371SB PIIX3 ISA [Natoma/Triton II] (rev 01)
0000:00:07.1 IDE interface: Intel Corp. 82371SB PIIX3 IDE [Natoma/Triton II] 0000:00:0a.0 VGA compatible controller: Texas Instruments TVP4020 [Permedia 2] (rev 01)
0000:00:0c.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 10)
0000:00:0d.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8029(AS) --------------------------

/proc/interrupts:
-------------------------
CPU0

  0:   55623224    IO-APIC-edge  timer
  1:          2    IO-APIC-edge  keyboard
  2:          0          XT-PIC  cascade
  8:          4    IO-APIC-edge  rtc
 10:   59404185   IO-APIC-level  eth1
 11:   64467911   IO-APIC-level  eth0
 14:    9031698    IO-APIC-edge  ide0
NMI:          0
LOC:   55623074
ERR:          0
MIS:      13142

----------------------------

#2 lore raw

Am Montag, 28. Juni 2004 22:21 schrieb Bartlomiej Zolnierkiewicz:

Quoted 6 lines · Patrick Dreker
Quoted 2 lines

What can I do to debug this problem?

"diff -u" on "lspci -s 07.1 -xxx" outputs for 2.4.20 and 2.4.21 kernels.

Doing bisection search on 2.4.21-pre kernels would also help.

I will do the bisection search first and then post the lspci diff between the last working revision and the first non-working version as I have to recompile everything anyways.

Thanks,
Patrick

Signature · 5 lines
Patrick Dreker

GPG KeyID  : 0xFCC2F7A7 (Patrick Dreker)
Fingerprint: 7A21 FC7F 707A C498 F370  1008 7044 66DA FCC2 F7A7
Key available from keyservers
#3 lore raw
In reply to Bartlomiej Zolnierkiewicz

Am Montag, 28. Juni 2004 22:21 schrieb Bartlomiej Zolnierkiewicz:

Quoted 4 lines
Quoted 1 line

What can I do to debug this problem?

"diff -u" on "lspci -s 07.1 -xxx" outputs for 2.4.20 and 2.4.21 kernels.

Doing bisection search on 2.4.21-pre kernels would also help.

2.4.21-pre1 is the first non-working kernel, 2.4.20 works. When generating the configs for 2.4.21-pre1 (make oldconfig based on the working 2.4.20 config) I was asked "Use IDE Taskfile I/O" which defaulted to no and I kept that default (i.e. "Don't use Taskfile I/O").

lspci -s 07.1 -xxx shows no difference between a working (2.4.20) kernel and a non-working (2.4.21-pre1) kernel.

This caught my eye, but was probably obvious to you:
2.4.21-pre1 reports IDE Version 7.00beta-2.4 while 2.4.20 reports version 6.31

Patrick

Signature · 5 lines
Patrick Dreker

GPG KeyID  : 0xFCC2F7A7 (Patrick Dreker)
Fingerprint: 7A21 FC7F 707A C498 F370  1008 7044 66DA FCC2 F7A7
Key available from keyservers