On Thu, Feb 02, 2012 at 12:59:34PM +0100, Michal Simek wrote: > From: Grant Likely <grant.lik...@secretlab.ca> > > Move get_irq to asm/irq.h from hardirq.h. > > Grant: Why does your patch setup NR_IRQS to 64? It seems to me > pretty big value because intc support up to 32 interrupts. > The main problem was with get_irq function because there must > check status of IVR. > > Signed-off-by: Grant Likely <grant.lik...@secretlab.ca> > Signed-off-by: Michal Simek <mon...@monstr.eu> > Cc: Rob Herring <rob.herr...@calxeda.com> > Cc: John Williams <john.willi...@petalogix.com> > Cc: John Linn <john.l...@xilinx.com> > > --- > diff --git a/arch/microblaze/kernel/irq.c b/arch/microblaze/kernel/irq.c > index 3f613df..ace700a 100644 > --- a/arch/microblaze/kernel/irq.c > +++ b/arch/microblaze/kernel/irq.c > @@ -31,14 +31,13 @@ void __irq_entry do_IRQ(struct pt_regs *regs) > trace_hardirqs_off(); > > irq_enter(); > - irq = get_irq(regs); > + irq = get_irq(); > next_irq: > BUG_ON(!irq); > - /* Substract 1 because of get_irq */ > - generic_handle_irq(irq + IRQ_OFFSET - NO_IRQ_OFFSET); > + generic_handle_irq(irq); > > - irq = get_irq(regs); > - if (irq) { > + irq = get_irq(); > + if (irq != -1U) {
irq should never be -1 now with my current tree. I've just pushed it out, can you take a look and try it with the original "if (!irq)" test? g. _______________________________________________ devicetree-discuss mailing list devicetree-discuss@lists.ozlabs.org https://lists.ozlabs.org/listinfo/devicetree-discuss