IDE DMA oops with PII 82440MX on > 2.3.99pre6

From: John D. Rowell (jdrowell@appwatch.com)
Date: Mon Jun 05 2000 - 04:52:36 EST


This is on a Toshiba Portege 3110CT laptop.

tiny:~# lspci | grep IDE
00:07.1 IDE interface: Intel Corporation 82440MX EIDE Controller

Works fine with 2.2.14, 2.2.16pre7 and 2.3.99-pre[1-6], very stable
even with hdparm -u1 -c1 and idebus=66. Transfer rate by hdparm -tT
is about 11Mb/s.

I've tested this with every kernel since 2.3.99-pre6 (last attempt
was 2.4.0-test1-ac8) with PIIX support turned on and off, but the
result is a bus reset after some use (and subsequente fs
corruption). Spontaneous reboots during disk access and other
lockups also happened in some cases.

Turning dma off (hdparm -d0) does solve the problem, but also gives
me half the transfer rate. And, it works on older kernels :). BTW,
I'm also running 2.4.0-test1-ac8 on another laptop (an old ISA-based
Toshiba Satellite Pro 430CDT) with no problems, but that controller
doesn't support DMA.

Here are some dumps from syslog with pertinent information:

--

Jun 5 01:13:40 tiny kernel: hda: timeout waiting for DMA Jun 5 01:13:40 tiny kernel: ide_dmaproc: chipset supported ide_dma_timeout func only: 14 Jun 5 01:13:40 tiny kernel: hda: irq timeout: status=0x58 { DriveReady SeekComp lete DataRequest } Jun 5 01:13:40 tiny kernel: hda: status error: status=0x58 { DriveReady SeekCom plete DataRequest } Jun 5 01:13:40 tiny kernel: hda: drive not ready for command Jun 5 01:13:40 tiny kernel: hda: status error: status=0x58 { DriveReady SeekCom plete DataRequest } Jun 5 01:13:40 tiny kernel: hda: drive not ready for command Jun 5 01:13:40 tiny kernel: hda: status error: status=0x58 { DriveReady SeekCom plete DataRequest } Jun 5 01:13:40 tiny kernel: hda: DMA disabled Jun 5 01:13:40 tiny kernel: hda: drive not ready for command Jun 5 01:13:40 tiny kernel: ide0: reset: success

--

Jun 5 00:33:37 tiny kernel: stack segment: 0000 Jun 5 00:33:37 tiny kernel: CPU: 0 Jun 5 00:33:37 tiny kernel: EIP: 0010:[kmem_cache_grow+787/1012] Jun 5 00:33:37 tiny kernel: EFLAGS: 00010286 Jun 5 00:33:37 tiny kernel: eax: 00000073 ebx: c00e8fe0 ecx: 0000001d edx : c00e80dc Jun 5 00:33:37 tiny kernel: esi: c12659e0 edi: c00e813c ebp: ffffffff esp : c5e79c68 Jun 5 00:33:37 tiny kernel: ds: 0018 es: 0018 ss: 0018 Jun 5 00:33:37 tiny kernel: Process hdparm (pid: 291, stackpage=c5e79000) Jun 5 00:33:37 tiny kernel: Stack: c12659e8 c12659e0 00000003 00000282 c00e8158 c12659e8 0000001d 00000000 Jun 5 00:33:37 tiny kernel: 00000202 00000001 00000003 00000060 c012a0db c12659e0 00000003 c009cf00 Jun 5 00:33:37 tiny kernel: 00000000 c009cf00 00000400 c013138d c12659e0 00000003 c009cf00 00000000 Jun 5 00:33:37 tiny kernel: Call Trace: [kmem_cache_alloc+375/456] [get_unused_ buffer_head+57/200] [create_buffers+32/896] [__alloc_pages+79/704] [grow_buffers +110/300] [refill_freelist+10/44] [getblk+134/144] Jun 5 00:33:37 tiny kernel: [block_read+668/1224] [sys_read+192/224] [sy stem_call+52/56] Jun 5 00:33:37 tiny kernel: Code: 89 45 00 8b 6d 00 83 6c 24 18 01 0f 83 04 ff ff ff c7 45 00

--

Jun 5 01:06:57 tiny kernel: Uniform Multi-Platform E-IDE driver Revision: 6.30 Jun 5 01:06:57 tiny kernel: ide: Assuming 66MHz system bus speed for PIO modes Jun 5 01:06:57 tiny kernel: PIIX4: IDE controller on PCI bus 00 dev 39 Jun 5 01:06:57 tiny kernel: PIIX4: chipset revision 0 Jun 5 01:06:57 tiny kernel: PIIX4: not 100% native mode: will probe irqs later Jun 5 01:06:57 tiny kernel: ide0: BM-DMA at 0xfff0-0xfff7, BIOS settings: h da:DMA, hdb:pio Jun 5 01:06:57 tiny kernel: hda: TOSHIBA MK6411MAT, ATA DISK drive Jun 5 01:06:57 tiny kernel: ide0 at 0x1f0-0x1f7,0x3f6 on irq 14 Jun 5 01:06:57 tiny kernel: hda: 12685680 sectors (6495 MB), CHS=789/255/63, UD MA(33) Jun 5 01:06:57 tiny kernel: Partition check: Jun 5 01:06:57 tiny kernel: hda: hda1 hda2 < hda5 hda6 hda7 hda8 >

-- jdrowell

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Wed Jun 07 2000 - 21:00:20 EST