打印
[嵌入式linux]

大家进来啊,linux驱动出现系统问题,请帮忙!

[复制链接]
2109|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
bl20020825|  楼主 | 2007-6-8 16:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
大家好,我是是基于2410+linux2.4.18来进行驱动编写的,我在用阻塞I/O时出现了一个系统错误,请大家指点一下
代码:
                  DEBUG_K("del_timer ");
        del_timer(&key_timer);
        wake_up_interruptible(&(KEY_BUF.wq));
上面时我的代码里的关键一段,在目标板上运行程序时
一显示完,
del_timer
后就出现下面的错误啦:
Unable to handle kernel NULL pointer dereference at virtual address 00000000
pgd = c0004000
*pgd = 00000000, *pmd = 00000000
Internal error: Oops: 0
CPU: 0
pc : [<c002026c>]    lr : [<c3fff420>]    Not tainted
sp : c016fe90  ip : 00000000  fp : c016feb4
r10: 00000003  r9 : c016ff64  r8 : a0000013
r7 : c4ae0ec8  r6 : 00000093  r5 : 00000001  r4 : c4ae0ec4
r3 : 00000000  r2 : 00000001  r1 : c016e000  r0 : ffffff9d
Flags: Nzcv  IRQs off  FIQs on  Mode SVC_32  Segment kernel
Control: C000317F  Table: 33D50000  DAC: 0000001D
Process swapper (pid: 0, stackpage=c016f000)
这是为何呢?如果我将wake_up屏蔽掉的化,程序能继续运行!请大家指点一下,谢谢!
        

相关帖子

沙发
阿南| | 2007-6-22 20:50 | 只看该作者

你的wake_up函数KEY_BUF.wq中可能有无效的指针访问

查看那里有没有对指针进行操作,操作的指针是否没初始化

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

30

主题

57

帖子

1

粉丝