request_irq的一个问题
时间:2005-09-20
来源:互联网
我将2.6.12一直到一块powerpc 405的板子上,但在启动串口终端时出错了。
irq 20: nobody cared!
Call trace:
[a0005d98] dump_stack+0x18/0x28
[a0033b58] __report_bad_irq+0x34/0xac
[a0033ca0] note_interrupt+0x98/0xd4
[a0033694] __do_IRQ+0x138/0x13c
[a0004638] do_IRQ+0x50/0x98
[a0003448] ret_from_except+0x0/0x18
[a003394c] setup_irq+0xf4/0x120
[a0033af4] request_irq+0x98/0xc8
[a00eb010] serial_link_irq_chain+0xc0/0xdc
[a00eb4d4] serial8250_startup+0x1dc/0x344
[a00e66f0] uart_startup+0xb8/0x1b0
[a00e8960] uart_open+0xfc/0x18c
[a00d3918] tty_open+0x24c/0x340
[a005dbe0] chrdev_open+0xb8/0x13c
[a0052650] dentry_open+0x128/0x1d8
handlers:
[<a00eadcc>] (serial8250_interrupt+0x0/0xfc)
我跟踪了一下,发现这个错误的发生是因为在极短的时间内(可能不到一秒),serial8250_interrupt被调用了10万次,而且这10万次serial8250_interrupt的返回都不是IRQ_HANDLED,现在还不知道为什么会产生这么一个天文数字的中断。
我想问的是request_irq注册的中断,是不是一定要有对应硬中断信号过来,对应的中断调用函数才会被执行(比如serial8250_interrupt),当然前提是除了request_irq()其他地方都没有调用serial8250_interrupt。
irq 20: nobody cared!
Call trace:
[a0005d98] dump_stack+0x18/0x28
[a0033b58] __report_bad_irq+0x34/0xac
[a0033ca0] note_interrupt+0x98/0xd4
[a0033694] __do_IRQ+0x138/0x13c
[a0004638] do_IRQ+0x50/0x98
[a0003448] ret_from_except+0x0/0x18
[a003394c] setup_irq+0xf4/0x120
[a0033af4] request_irq+0x98/0xc8
[a00eb010] serial_link_irq_chain+0xc0/0xdc
[a00eb4d4] serial8250_startup+0x1dc/0x344
[a00e66f0] uart_startup+0xb8/0x1b0
[a00e8960] uart_open+0xfc/0x18c
[a00d3918] tty_open+0x24c/0x340
[a005dbe0] chrdev_open+0xb8/0x13c
[a0052650] dentry_open+0x128/0x1d8
handlers:
[<a00eadcc>] (serial8250_interrupt+0x0/0xfc)
我跟踪了一下,发现这个错误的发生是因为在极短的时间内(可能不到一秒),serial8250_interrupt被调用了10万次,而且这10万次serial8250_interrupt的返回都不是IRQ_HANDLED,现在还不知道为什么会产生这么一个天文数字的中断。
代码:
/* drivers/serial/8250.c */ ret = request_irq(up->port.irq, serial8250_interrupt, irq_flags, "serial", i);
作者: guoys 发布时间: 2005-09-20
理论上,中断处理函数只在中断到来时调用
作者: rickxbx 发布时间: 2005-09-22
如果中断信号线是共享的话,就不是那么回事了
作者: bolunjia 发布时间: 2005-10-10
查查/proc/interrupts,看看是不是共享了
作者: mittermieier 发布时间: 2006-07-03
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28