Messages in this thread | | | Date | Sun, 30 Mar 2008 13:11:59 +0200 | From | Stefan Richter <> | Subject | Re: nobody cared about IRQ 19 (firewire, on a HP 2510p notebook) |
| |
I wrote on 2008-03-21: > 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?
[According to Martin's answer on 2008-03-22, the initialization of firewire-ohci also succeeds without noticeable problem under 2.6.25-rc6.]
> 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.
Martin, please check whether the same happens if you disable firewire-ohci in the kernel config (or blacklist it in the modprobe config) and use the ohci1394 driver instead.
Thanks, and sorry for replying so late, -- Stefan Richter -=====-==--- --== ====- http://arcgraph.de/sr/
| |