Re: 2.1.111: IDE DMA disabled...BLAH...BLAH...

Linus Torvalds (
Tue, 28 Jul 1998 17:23:57 -0700 (PDT)

On Tue, 28 Jul 1998, Mark Lord wrote:
> There are NO current documented cases of disk corruption due to DMA
> in the Linux IDE driver. If anyone thinks they know of such a case,
> I'd be happy to investigate it .. but all such cases thus far have
> been proven bogus.

Have you been closing your eyes when the reports go past, or what?

If you by "all such cases thus far have been proven bogus" mean that so
far you have been able to blame a too-long cable or something else like
that, then sure. I can imagine that all DMA corruption problems can be
adequately explained by something being out-of-spec, whether it's the
cable or the chipset being bad.

But that doesn't change the fact that people see corruption that goes away
when they disable DMA.

Think back a few years to the case where you had to disable interrupts
during the transfer. I could have argued that the hardware was broken,
because according to the specs it shouldn't have been needed. I didn't. I
made the default be the safe and slow one, even though I didn't need it
myself and had personally never seen a machine that had ever needed it.

I had _one_ report of it that was consistent - he coult turn the interrupt
disable code on and off and it could corrupt or not corrupt reliably after
some time. One is all it takes. I didn't ask him whether he was
overclocking his bus, or try to make excuses by asking how long the cable
was. I fixed the problem.

Quite frankly, if you're not willing to fix the problem, I don' thave any
other recourse than to disable the IDEDMA option. I refuse to ship kernels
that have known instabilities, and I consider "tight timing" to be an

You should have noted that I at no time blamed the driver itself. I don't
have any gripes with the DMA code itself. The thing I consider to be a bug
is that it enables it by default, even though we have reports of it
corrupting disks on certain machines.

The _only_ thing I ask for is that DMA be disabled by default, or at least
disabled when there is any reasonable cause fr doubting the hardware.
David Miller reports that certain windows drivers have a black-list, and
that may be what we need to have. It certainly indicates that somebody
else is aware of problems.

If you want to stick your head in the sand and ignore it, I can't do
anything about that. I don't know the IDE driver well enough to start
doing this, so I used a sledgehammer approach rather than trying to be
subtle. I'd much prefer a subtle fix, but before the subtle fix is in
place I won't remove the sledgehammer one.


To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
Please read the FAQ at