[2.6,2.4] HPT366 (on Abit BP6) + Seagate 7000.7 + DMA = kernelhalted

From: Jan Mynarik
Date: Wed Jan 14 2004 - 13:13:35 EST


Hi,

I have problem with HPT366 and Seagate and trying to switch on DMA.

My configuration
- my hardware: Abit BP6 with HPT366 IDE controller, Seagate Barracuda
7000.7 HDD (80 GB)
- kernels tried: 2.4.22, 2.4.23, 2.6.0-test9, 2.6.0, 2.6.1-rc3

My problem is that HPT366 linux driver doesn't like DMA. 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 (.. = 0x21)

and after a while

hde: DMA timeout error

then kernel is halted and I need to reset my PC.

This error is clearly reproducible (with or without SMP, various kernel
versions, overclocking or not, ACPI on and off) but I don't get any oops
(probably because of disk problem).

DMA can't be set during kernel boot, HPT366 driver refuses to set DMA
on. It must be done using hdparm.

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 procedure used to fix
some seagate disk initialization problem which is not present (after a
quick look) 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.

Windows are working well and I haven't time to try HighPoint's own
driver.

I can provide you with my exact configuration and logs later, I'm not
near affected computer now.

Does anyone else has the same problem?
Any other ideas?

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/