Re: 2.6.17-rc5-mm1

Ingo Molnar
2006-05-30T23:14:28Z

* Thomas Gleixner <tglx@linutronix.de> wrote:

> CC'ed Ben, who is hacking on msi, IIRC
>
> On Wed, 2006-05-31 at 00:58 +0200, Ingo Molnar wrote:
> > > >
> > > > does MSI much with the irq_desc[] separately perhaps, clearing
> > > > handle_irq in the process perhaps?
> > >
> > > aha - drivers/pci/msi.c sets msix_irq_type, which has no handle_irq
> > > entry. This needs to be converted to irqchips.
> >
> > still ... that doesnt explain how the irq_desc[].irq_handler got NULL.
>
> It has it's own irq_desc array
>
> static struct msi_desc* msi_desc[NR_IRQS] = { [0 ... NR_IRQS-1] = NULL };

ah ...

then i guess a quick solution would be to do:

if (!irq_desc[irq].irq_handler)
__do_IRQ(irq, regs);
else
generic_handle_irq(irq, regs);

in arch/x86_64/kernel/irq.c [and in arch/i386/kernel/irq.c], and
__do_IRQ() should handle the old-style irq-type MSI code just fine.

Ingo