"irq6: nobody cared" mystery interrupt in embedded kernel running on ARM9

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

 



Hello everyone,

I am fairly new to kernel development and definitely very new to embedded kernel
development; if this question does not belong on this list maybe you
can direct me
to the appropriate one...

I have ARM development board from Star Semiconductor with their STR8133 ARM9
CPU. I am running kernel version 2.6.16 and have a PCI board hooked up to it.
My kernel module that controls the board works perfectly fine but I get constant
"irq6: nobody cared" error messages followed by a stack dump [look
below for example].
I confirmed that during this time none of the interrupt bits in any of
the status registers
on the board are set. I have an access to a logic analyzer and so I hooked it up
to a PCI breakout board and confirmed that my interrupt handler is
called way before
the board drives the INTA# line. cat /proc/interrupts shows that my
module is the
only one on IRQ6. The module is actually used by another kernel module
that utilizes kthreads [puts them to sleep, wakes the up, etc.] My
question is this:

Assuming there is no hardware problem, are there some fundamental differences
between regular Linux kernel and embedded kernel that can 'cause this kind of
behavior?

Any information or suggestions would be highly appreciated.

-- ilya

Example of a dump:

irq6: nobody cared

Pid: 664, comm:      file-storage-ga
CPU: 0
PC is at l800_queue+0x170/0x260 [l800_wudc]
LR is at wake_up_process+0x18/0x20
pc : [<bf009ce0>]    lr : [<c0042618>]    Not tainted
sp : c10ade44  ip : 00000000  fp : c10ade7c
r10: c0ab29b5  r9 : bf013a0c  r8 : c0ab2995
r7 : c0ab4860  r6 : 0000000d  r5 : 00000001  r4 : ffffffff
r3 : 60000013  r2 : 80000093  r1 : 0000000f  r0 : 00000000
Flags: nZcv  IRQs on  FIQs on  Mode SVC_32  Segment kernel
Control: 397F  Table: 00844000  DAC: 00000017
[<c0027b60>] (show_regs+0x0/0x50) from [<c00268fc>] (report_bad_irq+0x5c/0xd0)
 r4 = C0311D00
[<c00268a0>] (report_bad_irq+0x0/0xd0) from [<c0026d34>]
(do_level_IRQ+0xd4/0x190)
 r6 = C0363D98  r5 = 00000000  r4 = 00000000
[<c0026c60>] (do_level_IRQ+0x0/0x190) from [<c0026e44>] (asm_do_IRQ+0x54/0x150)
[<c0026df0>] (asm_do_IRQ+0x0/0x150) from [<c00259d4>] (__irq_svc+0x34/0x60)
 r8 = C0AB2995  r7 = C0AB4860  r6 = 0000000D  r5 = FFF1B140
 r4 = FFFFFFFF
[<bf009b70>] (l800_queue+0x0/0x260 [l800_wudc]) from [<bf01b3b0>]
(start_transfer+0x90/0x2c0 [g_file_storage])
[<bf01b320>] (start_transfer+0x0/0x2c0 [g_file_storage]) from
[<bf01c4a0>] (send_status+0x180/0x250 [g_file_storage])
[<bf01c320>] (send_status+0x0/0x250 [g_file_storage]) from
[<bf01e230>] (fsg_main_thread+0x910/0x1ff0 [g_file_storage])
[<bf01d920>] (fsg_main_thread+0x0/0x1ff0 [g_file_storage]) from
[<c005fed4>] (kthread+0xf4/0x130)
[<c005fde0>] (kthread+0x0/0x130) from [<c0049e10>] (do_exit+0x0/0x8c0)
handlers:
[<bf0085f0>] (l800_irq+0x0/0x10f0 [l800_wudc])

--
To unsubscribe from this list: send an email with
"unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx
Please read the FAQ at http://kernelnewbies.org/FAQ


[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux