Re: IDE DMA oops with PII 82440MX on > 2.3.99pre6

From: Andre Hedrick (andre@linux-ide.org)
Date: Mon Jun 05 2000 - 05:45:00 EST


On Mon, 5 Jun 2000, John D. Rowell wrote:

> 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.

Your "idebus=66" is not *, but "idebus=33", and APM/ACPI may not play nice
with unmasking the interrupt.

> 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/
>

Andre Hedrick
The Linux ATA/IDE guy

-
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:21 EST