static void
__report_bad_irq(unsigned int irq, struct irq_desc *desc,
irqreturn_t action_ret)
{
struct irqaction *action;
if (action_ret != IRQ_HANDLED && action_ret != IRQ_NONE) {
printk(KERN_ERR "irq event %d: bogus return value %x\n",
irq, action_ret);
} else {
printk(KERN_ERR "irq %d: nobody cared (try booting with "
"the \"irqpoll\" option)\n", irq);
}
dump_stack();
printk(KERN_ERR "handlers:\n");
action = desc->action;
while (action) {
printk(KERN_ERR "[<%p>]", action->handler);
print_symbol(" (%s)",
(unsigned long)action->handler);
printk("\n");
action = action->next;
}
}
==========================================================================================
irq 64: nobody cared (try booting with the "irqpoll" option)
Backtrace:
[<c0028940>] (dump_backtrace+0x0/0x104) from [<c0028a5c>] (dump_stack+0x18/0x1c)
r7:00000000 r6:00000040 r5:00000000 r4:c02dec10
[<c0028a44>] (dump_stack+0x0/0x1c) from [<c00692e0>] (__report_bad_irq+0x38/0x94
)
[<c00692a8>] (__report_bad_irq+0x0/0x94) from [<c00694a8>] (note_interrupt+0x16c
/0x1e0)
r4:c02dec10
[<c006933c>] (note_interrupt+0x0/0x1e0) from [<c0069fb4>] (handle_edge_irq+0x130
/0x150)
[<c0069e84>] (handle_edge_irq+0x0/0x150) from [<c002d98c>] (s3c_irq_demux_extint
8+0x94/0xa4)
r6:00000000 r5:00000000 r4:00000040
[<c002d8f8>] (s3c_irq_demux_extint8+0x0/0xa4) from [<c0024050>] (_text+0x50/0x64
)
r5:c02e897c r4:00000015
[<c0024000>] (_text+0x0/0x64) from [<c0024a04>] (__irq_svc+0x24/0xa0)
Exception stack(0xc7afdd2c to 0xc7afdd74)
dd20: c887e130 00000001 00000000 00000000 00000060
dd40: c031c7e4 00000002 60000013 00000000 c7a8bd40 0cc0000f c7afdda8 c7afdd74
dd60: c7afdd74 c014cd48 c014cd7c 40000013 ffffffff
r6:00000020 r5:f4000000 r4:ffffffff
[<c014c74c>] (serial8250_startup+0x0/0x710) from [<c0148770>] (uart_startup+0x9c
/0x198)
r8:00000000 r7:00000000 r6:c7828470 r5:c031c7e4 r4:c7828460
[<c01486d4>] (uart_startup+0x0/0x198) from [<c014a1ec>] (uart_open+0x130/0x408)
r8:ffffffed r7:c7828470 r6:c7828460 r5:c7aff800 r4:00000000
[<c014a0bc>] (uart_open+0x0/0x408) from [<c0135094>] (tty_open+0x2d0/0x3f8)
[<c0134dc4>] (tty_open+0x0/0x3f8) from [<c00950c8>] (chrdev_open+0x144/0x168)
[<c0094f84>] (chrdev_open+0x0/0x168) from [<c0091228>] (__dentry_open+0x154/0x26
4)
r8:c75b6a14 r7:c780a0a0 r6:c0094f84 r5:c75b7228 r4:c7a8bd40
[<c00910d4>] (__dentry_open+0x0/0x264) from [<c0091460>] (nameidata_to_filp+0x4c
/0x64)
[<c0091414>] (nameidata_to_filp+0x0/0x64) from [<c009baa0>] (do_filp_open+0x3c4/
0x748)
r5:c7afdef0 r4:00000000
[<c009b6dc>] (do_filp_open+0x0/0x748) from [<c009162c>] (do_sys_open+0x68/0xf8)
[<c00915c4>] (do_sys_open+0x0/0xf8) from [<c00916e0>] (sys_open+0x24/0x28)
[<c00916bc>] (sys_open+0x0/0x28) from [<c0024e20>] (ret_fast_syscall+0x0/0x2c)
handlers:
[<c014c2cc>] (serial8250_interrupt+0x0/0xe4)
Disabling IRQ #64

系统遇到中断处理异常情况,详细堆栈跟踪显示中断处理程序未正确响应,导致无法正常工作。
342

被折叠的 条评论
为什么被折叠?



