Re: Problem with 2.6.17-mm2

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Andrew,

On Sun, 2006-06-25 at 03:49 -0700, Andrew Morton wrote:
> OK, thanks.
> 
> > 1) A lot of "unexpected IRQ trap at vector X" for X=[09,07]
> 
> hm, ack_bad_irq().  That isn't supposed to happen.
> 
> Ingo, Thomas - it's possible that -mm2's genirq is affecting x86?

I did some tests by asserting spurious interrupts. genirq is just making
them visible, backing out the genirq changes makes them invisible again.

The reason is:

ack_bad_irq() in !genirq is only called, when no hw_irq_controller has
been installed. The interrupts in question have the PIC/APIC/IOAPIC
functions installed.

Now when a spurios interrupt comes in we do

	desc->handler->ack(irq);

	if (!desc->action)
		goto out;

So in fact this just silently acks spurious interrupts which have an
hw_irq_controller assigned. If there is no action, then nothing has
called setup_irq/request_irq for this interrupt line and therefor it is
an spurious interrupt which should not happen.


genirq makes these visible and informs noisily about those events. 

Looking at the debug output we see:

irq 7, desc: c037bc00, depth: 1, count: 0, unhandled: 0
->handle_irq():  c013d360, handle_bad_irq+0x0/0x270
->chip(): c037f980, 0xc037f980
->action(): 00000000
IRQ_DISABLED set

The interrupt is disabled and action is NULL.

	tglx


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux