Re: 2.6.21-rc2-mm2

Magnus Damm
2007-03-08T08:41:38Z

On 3/6/07, KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com> wrote:
>
> Following panic ouccurred (always) on ia64/NUMA(with empty node.)
>
> Bug in here.
> ==
> void move_native_irq(int irq)
> {
> struct irq_desc *desc = irq_desc + irq;
>
> if (likely(!(desc->status & IRQ_MOVE_PENDING)))
> return;
>
> if (unlikely(desc->status & IRQ_DISABLED))
> return;
>
> desc->chip->mask(irq); <---------maybe this *mask* is NULL pointer
> move_masked_irq(irq);
> desc->chip->unmask(irq);
> }
> ==
>
> Is "mask" always valid pointer ?

Not last time I checked. Have a look at "no_irq_chip" in
linux/kernel/irq/handle.c.

Your problem looks somewhat similar to the problem I had with irq
migration on ia64:

http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=29a002776ba5ef170446910b1f93c480cdd43706

/ magnus