Re: HPT372 DMA corruption

From: Richard B. Johnson
Date: Fri Jan 09 2004 - 15:27:02 EST


On Fri, 9 Jan 2004, Chuck Berg wrote:

> I have an HPT372 onboard a Soyo Dragon KT400 board. I get corruption when
> reading from drives on this controller. (I don't dare write, so I don't
> know if writes are affected as well). I'm using 2.6.1, but have experienced
> this problem with older kernels (at least it's not crashing anymore).
>
> Disabling DMA on these drives stops the corruption.
>
[SNIPPED...]

>
> 51642365 0 211
> 51642366 0 154
> 51642367 0 163
> 51642368 0 120
> 63700989 0 100
> 63700990 0 153
> 63700991 0 216
> 63700992 0 2
> 89260029 0 31
> 89260030 0 327
> 89260031 0 200
> 89260032 0 13
>

Since whole bytes are not written, this looks strangely like
an attempt to DMA to cached RAM! Since the CPU didn't write
to RAM, the cache doesn't "know" that somebody wrote to it
so the subsequent read comes from cache, not RAM. Somebody
who knows the KT400 software well, should verify that DMA-able
buffers are being used and the driver isn't writing directly
to a (ultimately) user buffer.

Cheers,
Dick Johnson
Penguin : Linux version 2.4.22 on an i686 machine (797.90 BogoMips).
Note 96.31% of all statistics are fiction.


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