Bug 142364 - PIIX3 IDE DMA Problems
Summary: PIIX3 IDE DMA Problems
Keywords:
Status: CLOSED CANTFIX
Alias: None
Product: Fedora
Classification: Fedora
Component: kernel
Version: 3
Hardware: All
OS: Linux
medium
high
Target Milestone: ---
Assignee: Alan Cox
QA Contact: Brian Brock
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2004-12-09 09:28 UTC by Habeeb J. Dihu
Modified: 2007-11-30 22:10 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2005-10-03 00:46:43 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Habeeb J. Dihu 2004-12-09 09:28:09 UTC
Machine in question used to run RH9 with no problems running a 2.4.20
kernel with DMA enabled on all hard drives.

Since doing a clean install of FC3, it's been impossible to enable DMA
on the drives without leading to lots of timeout errors.  I've tried
every FC3 kernel and update without success.  Currently running
kernel-2.6.9-1.698_FC3.

If I boot with ide=nodma, everything runs without issues, except for
taking a huge performance penalty.

With DMA enabled, I can reliably cause timeout errors every time. 
I've tried various combinations of unmasking IRQs and DMA to see if I
can pinpoint the issue.  The only trigger seems to be when DMA is
enabled -- it doesn't matter if I have IRQ unmasking enabled or not
(running with DMA disabled and IRQ unmasking enabled works fine, for
instance).

To test the setup, I run:

 e2fsck -f -D /dev/hdb1

which puts the drive through it's paces to see how it handles.

The specific error messages are:

hdb: dma_timer_expiry: dma status == 0x60
hdb: DMA timeout retry
hdb: timeout waiting for DMA
hdb: status error: status=0x58 { DriveReady SeekComplete DataRequest }

ide: failed opcode was: unknown
hdb: drive not ready for command
hdb: dma_timer_expiry: dma status == 0x60
hdb: DMA timeout retry
hdb: timeout waiting for DMA
hdb: status error: status=0x58 { DriveReady SeekComplete DataRequest }

...etc.

System info:

PIIX3: IDE controller at PCI slot 0000:00:07.1
PIIX3: chipset revision 0
PIIX3: not 100% native mode: will probe irqs later
    ide0: BM-DMA at 0xffa0-0xffa7, BIOS settings: hda:pio, hdb:pio
    ide1: BM-DMA at 0xffa8-0xffaf, BIOS settings: hdc:pio, hdd:pio
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
Probing IDE interface ide1...
hdc: FX240S, ATAPI CD/DVD-ROM drive
hdd: CRW6206A, ATAPI CD/DVD-ROM drive
ide1 at 0x170-0x177,0x376 on irq 15
hda: max request size: 128KiB
hda: 40000464 sectors (20480 MB) w/1024KiB Cache, CHS=39683/16/63
hda: cache flushes not supported
 hda: hda1
hdb: max request size: 128KiB
hdb: 160086528 sectors (81964 MB) w/2048KiB Cache, CHS=65535/16/63
hdb: cache flushes not supported
 hdb: hdb1
hdc: ATAPI 24X CD-ROM drive, 256kB Cache
hdd: ATAPI 6X CD-ROM CD-R/RW drive, 384kB Cache

lspci -v output:

00:00.0 Host bridge: Intel Corp. 440FX - 82441FX PMC [Natoma] (rev 02)
        Flags: bus master, medium devsel, latency 32

00:07.0 ISA bridge: Intel Corp. 82371SB PIIX3 ISA [Natoma/Triton II]
(rev 01)
        Flags: bus master, medium devsel, latency 0

00:07.1 IDE interface: Intel Corp. 82371SB PIIX3 IDE [Natoma/Triton
II] (prog-if 80 [Master])
        Flags: bus master, medium devsel, latency 32
        I/O ports at ffa0 [size=16]

00:07.2 USB Controller: Intel Corp. 82371SB PIIX3 USB [Natoma/Triton
II] (rev 01) (prog-if 00 [UHCI])
        Flags: bus master, medium devsel, latency 32, IRQ 9
        I/O ports at ff80 [size=32]

00:0b.0 SCSI storage controller: Adaptec AHA-2940U/UW/D / AIC-7881U
        Flags: bus master, medium devsel, latency 72, IRQ 11
        I/O ports at fc00 [disabled] [size=256]
        Memory at ffbee000 (32-bit, non-prefetchable) [size=4K]

00:0f.0 Ethernet controller: 3Com Corporation 3c905 100BaseTX [Boomerang]
        Flags: bus master, medium devsel, latency 32, IRQ 9
        I/O ports at fe80 [size=64]

00:11.0 Multimedia audio controller: Ensoniq ES1370 [AudioPCI]
        Subsystem: Unknown device 4942:4c4c
        Flags: bus master, slow devsel, latency 104, IRQ 10
        I/O ports at ff00 [size=64]

00:13.0 PCI bridge: Hint Corp HB6 Universal PCI-PCI bridge
(non-transparent mode) (rev 12) (prog-if 00 [Normal decode])
        Flags: bus master, medium devsel, latency 0
        Bus: primary=00, secondary=01, subordinate=01, sec-latency=0
        Memory behind bridge: faf00000-fbffffff
        Prefetchable memory behind bridge:
00000000f6e00000-00000000fae00000
        Capabilities: [80] Power Management version 2
        Capabilities: [90] #06 [0000]
        Capabilities: [a0] Vital Product Data

01:00.0 VGA compatible controller: Matrox Graphics, Inc. MGA G400 AGP
(rev 82) (prog-if 00 [VGA])
        Subsystem: Matrox Graphics, Inc. Millennium G450 Dual Head PCI
        Flags: bus master, medium devsel, latency 136, IRQ 11
        Memory at f8000000 (32-bit, prefetchable) [size=32M]
        Memory at fbffc000 (32-bit, non-prefetchable) [size=16K]
        Memory at fb000000 (32-bit, non-prefetchable) [size=8M]
        Capabilities: [dc] Power Management version 2
        Capabilities: [f0] AGP version 2.0

Comment 1 Alan Cox 2005-02-24 09:07:24 UTC
Try booting with acpi=off just to check. I don't think that is the problem
however. Are your cables 40 or 80 wire btw ?


Comment 2 Dave Jones 2005-07-15 18:22:50 UTC
An update has been released for Fedora Core 3 (kernel-2.6.12-1.1372_FC3) which
may contain a fix for your problem.   Please update to this new kernel, and
report whether or not it fixes your problem.

If you have updated to Fedora Core 4 since this bug was opened, and the problem
still occurs with the latest updates for that release, please change the version
field of this bug to 'fc4'.

Thank you.

Comment 3 Dave Jones 2005-10-03 00:46:43 UTC
This bug has been automatically closed as part of a mass update.
It had been in NEEDINFO state since July 2005.
If this bug still exists in current errata kernels, please reopen this bug.

There are a large number of inactive bugs in the database, and this is the only
way to purge them.

Thank you.


Note You need to log in before you can comment on or make changes to this bug.