Re: bug in kernel 2.6.21-rc1-git1: conventional floppy drive cannotbe mounted without hanging up the whole system

From: Linus Torvalds
Date: Mon Feb 26 2007 - 13:20:49 EST




On Mon, 26 Feb 2007, Oleg Nesterov wrote:
>
> I know nothing about floppy, but I guess the reason is floppy_disable_hlt().
>
> Sorry for the offtopic question, is it really needed? According to grep, floppy
> is the only one user of disable_hlt().

I suspect you'd have a hard time finding a machine where it was broken any
more.

But it used to be that the native (aka "braindamaged and idiotic") DMA by
the motherboard southbridge chipset (and apparently _only_ that) had
problems with the CPU being halted on some motherboards, and would corrupt
data if the CPU was halted while the DMA took place.

We never bothered to even figure out why it happened, though. It was
undeniable that there were people who had trouble with "hlt" and the
floppy driver, but it is not clear what the cause was.

That's a _loong_ time ago, though, and it *probably* hasn't been an issue
on any recent machine. People just don't care enough to test, especially
since the upside is negligible, and the downside for when it would trigger
is huge.

The floppy is still pretty much the only user of native motherboard (aka
i8237) DMA'ing for most people. Some old ISA sound-cards may do it, of
course. But any PCI device will do its own DMA rather than rely on the
broken 8237 DMA engine, so for all I know, the bug - whatever it ever
ended up being - could still be there.

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