[Top] [All Lists]

why irq -1 is being passed to do_IRQ..?

Subject: why irq -1 is being passed to do_IRQ..?
From: "ashish anand" <>
Date: 4 Sep 2003 08:03:15 -0000
Original-recipient: rfc822;
Reply-to: "ashish anand" <>
Resent-date: Mon, 8 Sep 2003 20:45:20 +0100

I am writing to this list after a long back.

I have spurious interrupt problem in do_IRQ() in otherwise stable linux port on mips lexra board .problem happens if I use ISDN phones. but it doesn't happen essentially before or after ISDN card interrupt. we have tried writing FFh in ISDN card mask register then again restoring old mask in end of ISDN ISR as indicated in ISDN manual for interfacing with some interrupt controllers , but it didn't help much. so might be some minute problem in BSP.but i have a more fundamental question for now.

actually do_IRQ calls mask_irq and unmask_irq and there it prints
".......wrong irq number -1 pased.........."
if i see the code for file int-handler.S

In the first level interrupt handling code we jump to do_IRQ only when irq is >= 0 otherwise we just return as per the code piece below.

as per the code below do_IRQ() should always be passed a valid irq number.

lw a0,%lo(cpu_irq_nr-cpu_mask_tbl-PTRSIZE)(t1)
                bgez    a0, handle_it           # irq_nr >= 0?
# irq_nr < 0: just exit
                 j       return_
                 nop                            # delay slot

handle_it:      jal     do_IRQ
                 move   a1,sp
return_:        j       ret_from_irq

I am litle confused why irq -1 is being passed to do_IRQ at all.
pls. cc the reply to me as well.

Best Regards,
Meet your old school or college friends from
1 Million + database...
Click here to reunite

<Prev in Thread] Current Thread [Next in Thread>
  • why irq -1 is being passed to do_IRQ..?, ashish anand <=