[IDE] OPTi 621, chipset revision 18, hangs with enabled DMA

From: Ognyan Kulev
Date: Mon Jul 26 2004 - 05:48:45 EST


Hi,

On my laptop (Compaq Armada 4120), I've used for a long time a Linux 2.4.20 kernel just because newer kernels hang on partition checks. The error was something like the following and it always appeared at partition check (this is taken from Internet, but it was similar in my case):

Jan 8 22:14:15 darkstar kernel: hda: dma_timer_expiry: dma status == 0x21
Jan 8 22:14:25 darkstar kernel: hda: error waiting for DMA
Jan 8 22:14:25 darkstar kernel: hda: dma timeout retry: status=0x58 { DriveReady SeekComplete DataRequest }

After adding "ide=nodma", everything works fine. I see that code in 2.6 hasn't changed since 2.4 (except because of the API changes in 2.6, of course).

So I would like by default DMA to be disabled for OPTi 621 or there to be some other resolution. Probably removing the following lines will do the work, but I haven't tested it:

if (!noautodma)
hwif->autodma = 1;

(Some lines above, there is "hwif->autodma=0;".)

BTW In Linux 2.4.19 source, "grep dma drivers/ide/opti621.c" gives nothing.

Regards,
ogi
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/