gyh2002
驱动牛犊
驱动牛犊
  • 注册日期2002-11-05
  • 最后登录2005-03-01
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1438回复:8

请问这个系统错误是何原因引起的?

楼主#
更多 发布于:2002-11-08 11:32
<.....> 函数名字<....>
.....
<0> Kernel panic:Aiee,Killing interrupt handler!
In interrupt handler-not syncing!
是何原因引起的这种错误呢?
当出现系统错误时,系统就会死机,只好从启机,我如何用ksymoops来调试这系统错误呢?来找出原因呢?
Samuels
驱动牛犊
驱动牛犊
  • 注册日期2002-11-05
  • 最后登录2003-01-03
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-11-13 10:38
net_device结构好像没有time_out啊,只有tx_timeout,而且通常网卡驱动都不用的。
gyh2002
驱动牛犊
驱动牛犊
  • 注册日期2002-11-05
  • 最后登录2005-03-01
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-11-12 22:04
你说的,我现在程序中都已经做好了,我在初始化中有一项是dev->time_out = ***_time_out,如果把这一项屏蔽了,就不出现错误,这个会与中断冲突吗?为什么一加上这个函数就会出现这个错误呢?
Samuels
驱动牛犊
驱动牛犊
  • 注册日期2002-11-05
  • 最后登录2003-01-03
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2002-11-11 16:23
感觉象是你的程序在中断处理函数中发生了页面错误或是死循环,把函数中的内容都删掉,看看会不会发生这种错误。如果会的话就考虑一下request_irq用的对不对,是不是把中断挂到不知名的地方去了,最好用static申明中断处理函数,避免命名冲突。
unix1998
驱动老牛
驱动老牛
  • 注册日期2002-05-08
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分6分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2002-11-08 16:21
不清楚该怎么解决。 :(
如果你gdb熟,就用gdb调试你的程序吧。
gyh2002
驱动牛犊
驱动牛犊
  • 注册日期2002-11-05
  • 最后登录2005-03-01
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2002-11-08 16:07
是的,系统还没进入我的中断函数,就出现了系统错误!这种情况如何解决?
unix1998
驱动老牛
驱动老牛
  • 注册日期2002-05-08
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分6分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2002-11-08 15:58
是这样的,我在调试网卡驱动程序,用ifup eth0网卡端口激活,它执行了我的程序中的发送函数,正常按我的想法是应该执行我的发送中断函数,可系统没执行这一步!而出现了系统错误。这一证明我的包虽然放到缓冲区里了,但没法出去,为何?
我感觉有点像你说的第一点,因为第二点我在调试过程当中出现过,和这个信息不一样,你认为遇到这种情况,我如何去处理?
 

在你的中断处理程序里加个printk,或适当udelay点时间,看看能否有改观。时序问题的可能性较大。

你是说没有到中断处理函数就死了?
gyh2002
驱动牛犊
驱动牛犊
  • 注册日期2002-11-05
  • 最后登录2005-03-01
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2002-11-08 15:47
是这样的,我在调试网卡驱动程序,用ifup eth0网卡端口激活,它执行了我的程序中的发送函数,正常按我的想法是应该执行我的发送中断函数,可系统没执行这一步!而出现了系统错误。这一证明我的包虽然放到缓冲区里了,但没法出去,为何?
我感觉有点像你说的第一点,因为第二点我在调试过程当中出现过,和这个信息不一样,你认为遇到这种情况,我如何去处理?
unix1998
驱动老牛
驱动老牛
  • 注册日期2002-05-08
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分6分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2002-11-08 11:43
中断不同步。
有一种可能是你的某个中断没有回到高电平,系统一直处于中断里。
还有可能是你内核配置的问题。是否新加了什么设备。而该设备驱动访问了非法内存。
游客

返回顶部