[PATCH] Re: [2.1.80] boot and floppy driver problems.

MOLNAR Ingo (mingo@chiara.csoma.elte.hu)
Wed, 21 Jan 1998 17:57:11 +0100 (CET)


On Wed, 21 Jan 1998, Niels Kristian Bech Jensen wrote:

> Hi,
> I've just build and installed linux-2.1.80. I've two observations:

> 2. I get this message when the floppy driver module gets loaded by
> kerneld:
>
> more enable_irq(6)'s than disable_irq(6)'s!!<6>FDC 0 is an 8272A

this can be ignored safely, although it points to a possible bug in
the floppy initialization code. The problem is that request_irq()
implicitly unmasks the requested IRQ line (IRQ6 in this case),
floppy_grab_irq_and_dma() seems to assume that the IRQ is masked.

this (untested) patch explicitly turns off the floppy IRQ after
fd_request_irq().

-- mingo

--- linux/drivers/block/.floppy.c.orig Tue Jan 27 06:11:11 1998
+++ linux/drivers/block/floppy.c Tue Jan 27 06:12:25 1998
@@ -4115,6 +4115,11 @@
usage_count--;
return -1;
}
+ /*
+ * request_irq() enables the floppy IRQ, lets avoid suprises and
+ * turn it off temporarily:
+ */
+ fd_disable_irq();
if (fd_request_dma()) {
DPRINT("Unable to grab DMA%d for the floppy driver\n",
FLOPPY_DMA);