Re: IDEDMA problems.
mlord (mlord@pobox.com)
Wed, 03 Dec 1997 12:01:40 -0500
Gabriel Paubert wrote:
>
> On Wed, 3 Dec 1997, C. Scott Ananian wrote:
...
CMD646: IDE device on PCI bus 0 function 144
ide0: UNABLE TO GET IRQ 255
...
> > ide-dma.c (kernel 2.1.70):
...
> > if (pcibios_read_config_byte(bus, fn, 0x3c, &pciirq))
> > pciirq = 0; /* probe later if not set */
...
> > The pcibios_read_config_byte() call is returning PCIBIOS_SUCCESSFUL and
> > putting 0xFF into pciirq. This ultimately causes a panic as the kernel
> > cannot allocate IRQ 255 and thus cannot mount the root device.
Loverly.. oh well, so much for trusting the PCI BIOS
(or maybe the bug is the CMD646.. more likely I suppose).
To fix it, just delete the "if" statement, and the IDE driver
will probe for the correct irq at run time. No big deal.
If you're squeamish about kernel hacking, then just supply it as a boot
parameter instead: ide0=0x1f0,0x3f6,14
I'll send a patch to Linus.
(okay Gadi, so you told me not to trust the BIOS..)
--
mlord@pobox.com
The Linux IDE guy