lkml.org 
[lkml]   [2008]   [Mar]   [30]   [last100]   RSS Feed
Views: [more markup]  [less markup]  [headers]  [forward] 
 
Messages in this thread
/
DateSun, 30 Mar 2008 13:11:59 +0200
FromStefan Richter <>
SubjectRe: 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/

\
 
 \ /
  Last update: 2008-03-30 13:15    [from the cache]
©2003-2008