[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <47E3E2CF.5070408@s5r6.in-berlin.de>
Date: Fri, 21 Mar 2008 17:31:11 +0100
From: Stefan Richter <stefanr@...6.in-berlin.de>
To: Martin Michlmayr <tbm@...ius.com>
CC: linux1394-devel@...ts.sourceforge.net, linux-kernel@...r.kernel.org
Subject: Re: nobody cared about IRQ 19 (firewire, on a HP 2510p notebook)
Martin Michlmayr wrote:
> I just got the following in dmesg a few minutes after booting my
> notebook which was idle at the time this occurred. This was with
> 2.6.25-rc6 but I've seen the same with 2.6.22 (see the attached
> dmesg from 2.6.22).
>
> irq 19: nobody cared (try booting with the "irqpoll" option)
> Pid: 0, comm: swapper Not tainted 2.6.25-rc6-amd64 #1
>
> Call Trace:
> <IRQ> [<ffffffff80271c0b>] __report_bad_irq+0x38/0x7c
> [<ffffffff80271e51>] note_interrupt+0x202/0x249
> [<ffffffff8027274e>] handle_fasteoi_irq+0xab/0xd0
> [<ffffffff8020f82c>] do_IRQ+0x6e/0xda
> [<ffffffff8020c65d>] ret_from_intr+0x0/0x19
> <EOI> [<ffffffff80221831>] ? native_irq_enable+0x6/0x7
> [<ffffffff88006330>] ? :processor:acpi_idle_enter_bm+0x2ab/0x325
> [<ffffffff803b5ef3>] ? menu_select+0x70/0x99
> [<ffffffff803b52e1>] ? cpuidle_idle_call+0x77/0xa6
> [<ffffffff803b526a>] ? cpuidle_idle_call+0x0/0xa6
> [<ffffffff8020b187>] ? cpu_idle+0xb1/0xdb
> [<ffffffff8042ea16>] ? rest_init+0x5a/0x5c
>
> handlers:
> [<ffffffff8806f0f5>] (irq_handler+0x0/0x207 [firewire_ohci])
> Disabling IRQ #19
...
> 02:06.1 FireWire (IEEE 1394): Ricoh Co Ltd R5C832 IEEE 1394 Controller (rev 04)
...
According to your 2.6.22 dmesg, this happens a while after the firewire
subsystem seemingly successfully initialized the controller. Could you
please post "dmesg | grep firewire" from 2.6.25-rc6 though?
The __report_bad_irq() and "Disabling IRQ #..." can only have happened
because this condition in fw-ohci.c::irq_handler()
event = reg_read(ohci, OHCI1394_IntEventClear);
if (!event || !~event)
return IRQ_NONE;
happened a lot of times. This means either
- Some MMIO reads return bogus values (all zero or all ones in a
bitfield which should be sparsely populated in a proper interrupt
event),
or
- the interrupt was misrouted by the kernel's IRQ infrastructure was
unable to detect the misrouting, AFAIU.
--
Stefan Richter
-=====-==--- --== =-=-=
http://arcgraph.de/sr/
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists