Re: DMA timeout error and then kernel halted

From: Jan Mynarik
Date: Mon Jan 26 2004 - 11:38:46 EST


I've resolved my problem, DMA must be turned on by "Use DMA by default
in kernel config", it siply doesn't like latter attempts by hdparm. I
tried to have DMA by default previously but only by ide2=dma kernel boot
parameter.

Now, I'm on 40MB/s and happy :-)

Jan "Pogo" Mynarik

On Mon, 2004-01-19 at 18:29, Jan Mynarik wrote:
> Hi,
>
> I have DMA problems with HPT366 on BP6 (newest BIOS version RU incl.
> 1.28 BIOS for HPT366) and Seagate's 80 GB disk (please see exact model
> numbers in attached dmesg).
>
> It's reproducible (with or without SMP, various kernel versions,
> overclocking or not, ACPI on and off) on 2.4.22 and 2.6.0 (test9, test11
> and vanilla) and 2.6.1-rc3. On 2.4 kernel it doesn't halt kernel.
>
> Problem description:
> When I try to set DMA by hdparm, after several seconds the HDD led gets
> on and remains on for another amount of seconds, then I got
>
> hde: dma_timer_expiry: dma status == 0x21
>
> and after a while
>
> hde: DMA timeout error
>
> then kernel is halted and I need to reset my PC.
>
>
> After some investigations I realized that the problem could be in the
> combination of HPT366 and Seagate disk. In the source code of
> HighPoint's driver
> (http://www.highpoint-tech.com/hpt3xx-opensource-v131.tgz - link is in
> kernel's drivers/ide/pci/hpt366.c) I can see some function
> (seagate_hdd_fix) used to fix
> some seagate disk initialization problem which is not present in
> hpt366.c in kernel. I think that's the problem because I
> haven't found any reported problem and I think that BP6 is still widely
> used.
>
> Is it known? Any patches, workarounds, or other suggestions?
>
> Regards,
>
> Jan "Pogo" Mynarik
--
Jan Mynarik <mynarikj@xxxxxxxxxxxxxxxxxxx>

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