lkml.org 
[lkml]   [1998]   [Mar]   [3]   [last100]   RSS Feed
Views: [more markup]  [less markup]  [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
DateTue, 3 Mar 1998 20:49:52 +0100
FromGerhard Koerting <>
SubjectRe: IDE still misbehaving in pre-2.1.89-4 [WAS: Can't set UltraDMA mode 2 on Quantum Fireball SE]
I'm getting the same errors as Adam, using a Gigabyte 586DX too.

> yes, it could well be the IO-APIC changes. It must be related to your
> hardware configuration as i have a BM-DMA setup as well, but no problems.
> A few suggestions to find out what the differece is:
> 
> 	- could you try testing with a _single_ disk?

I have only one IDE-disk, the other disks are SCSI.

> 	- turn off DMA with hdparm -d0 /dev/hd[ac]

I'm getting the error message Adam describes (status=0xd0 {Busy}) only
if the disk is not using DMA. If I start the tests in DMA-mode, the
messages are as this:
	hda: dma_intr: status=0x58 { DriveReady SeekComplete DataRequest }
	hda: DMA disabled
	ide0: reset: success
	hda: write_intr: status=0xd0 { Busy }
	ide0: reset: success
	hda: write_intr: status=0xd0 { Busy }
	...
	end_request: I/O error, dev 03:01, sector 8741733
Instead of status=0xd0 there are messages with 0xd2 and 0xd8 too, and
instead of write_intr there are read_intr and recal_intr too.

If I reenable DMA after it was autmatically disabled, the disks run ok
for some minutes again.
For example while running badblocks on a 16MB-partition on hda,
I'm getting about 5 write_intr/read_intr/recal_intr-messages every second,
but it takes several minutes until the dma_intr message appears.

As my systems runs from the SCSI-disks and the IDE-disk is (now) empty, 
those errors are logged via syslogd.

>       - turn off IO-APIC irqs for the IDE driver, just add this to
>         io_apic.c, right after setup_IO_APIC_irqs(): 

This helps, I can't get this error if irq 14 is not an io_apic interrupt.
I used another patch to disable io_apic on irq 14:

--- linux/arch/i386/kernel/io_apic.c.old        Sat Feb 28 00:23:53 1998
+++ linux/arch/i386/kernel/io_apic.c    Sat Feb 28 00:24:06 1998
@@ -615,7 +615,7 @@
                pirqs_enabled)
        {
                printk("ENABLING IO-APIC IRQs\n");
-               io_apic_irqs = ~((1<<2)|(1<<13));
+               io_apic_irqs = ~((1<<2)|(1<<13)|(1<<14));
        } else {
                if (ioapic_blacklisted())
                        printk(" blacklisted board, DISABLING IO-APIC IRQs\n");

Gerhard

-- 
Gerhard Koerting		FAX:   +49 2324 947418
Technical Chemistry		Email: G.Koerting@techem.ruhr-uni-bochum.de
Ruhr-University Bochum
D-44780 Bochum, Germany


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu

\
 
 \ /
  Last update: 2005-03-22 12:41    [W:0.161 / U:0.230 seconds]
©2003-2008 Jasper Spaans