OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4731|回复: 2

一个WIFI驱动引起的内核错误oops请教

[复制链接]

48

主题

167

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
380
金钱
380
注册时间
2013-6-27
在线时间
17 小时
发表于 2015-12-3 22:43:21 | 显示全部楼层 |阅读模式
5金钱
最近在PC和S3C6410下调RT3070的驱动,想用一下ad hoc功能;
先采用了官方提供的V2.5.0.2版本,infrastructure模式,没什么问题,用ad hoc发现不断地断线;
换了一个新的版本V2.6.1.3,infrastructure模式正常;
Ad hoc可以稳定连接,但是我用ping进行长时间测试时,一直发ping包,发了2000个左右时,开发板的内核崩溃;
或者在Ad hoc网络中再加一个节点进来,一开始ping,那个新加入开发板内核的就崩了;
或者驱动运行在PC上,几乎是一ping就崩(当然驱动是分平台编译好的);
自己也看了一下查找oops错误的方法,http://blog.csdn.net/heqiuya/article/details/7762482
但是没找到一个准确定位的方法。
有人能指导一下这个不,或者有经验分享一下?
Unable to handle kernel NULL pointer dereference at virtual address 00000004
pgd = c0004000
[00000004] *pgd=00000000
Internal error: Oops: 817 [#1]
Modules linked in: rt3070sta
CPU: 0    Tainted: G        W    (3.0.1 #447)
PC is at STA_Legacy_Frame_Tx+0x268/0x2dc [rt3070sta]
LR is at RTMPWriteTxWI_Data+0x58/0x344 [rt3070sta]
pc : [<bf0403d8>]    lr : [<bf00d7ac>]    psr: 60000113
sp : c05fdb58  ip : 00000000  fp : c05fdb84
r10: 00000010  r9 : 00000001  r8 : 00000000
r7 : d08fa000  r6 : c05fdbb4  r5 : c05fdc10  r4 : ccee210e
r3 : 00000000  r2 : 00000000  r1 : c05fdbb4  r0 : 00000000
Flags: nZCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment kernel
Control: 00c5387d  Table: 5c4bc008  DAC: 00000017
Process swapper (pid: 0, stack limit = 0xc05fc268)
Stack: (0xc05fdb58 to 0xc05fe000)
db40:                                                       00000000 00000000
db60: d08fa000 c05fdbb4 00000001 d08fa000 00000000 00000000 c05fdb9c c05fdb88
db80: bf040de4 bf04017c c05fdbe4 cced2d80 c05fdcb4 c05fdba0 bf010558 bf040c4c
dba0: 00000000 00000004 d08fa344 00000003 00000000 00010100 002a0001 00000000
dbc0: 00000000 00000000 00000000 d095d48c cced2d80 ccee2102 ccee2110 0000001c
dbe0: bf086bd8 00000000 00000000 003c001c 00000000 00000000 00000008 ffffffff
dc00: e000ffff c479d94c f4c9788a 0130ed0d 0003aaaa 06080000 00000000 00000000
dc20: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
dc40: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
dc60: 00000000 c05fdbe4 00000020 00000000 00000000 00000000 000000ff 00000000
dc80: 00000000 00000000 ccee2102 d08fa000 00000001 00000001 00000001 c05fdce4
dca0: ccedfaa0 cc4e6800 c05fdcdc c05fdcb8 bf041678 bf010038 00000001 00000000
dcc0: d08fa000 0000002a cc4e6800 ccedfaa0 c05fdd04 c05fdce0 bf0332a0 bf0415bc
dce0: c05fdd24 cced2d80 c05fdd14 cced2d80 0000002a 00000000 c05fdd2c c05fdd08
dd00: bf05bdf4 bf03321c bf05be00 40000193 ccea6ca8 cced2d80 cced2d80 00000001
dd20: c05fdd44 c05fdd30 bf05c020 bf05bdc4 ccee2000 cced2d80 c05fdd94 c05fdd48
dd40: c0327964 bf05bfe0 c05fdd74 c05fdd58 d097a000 c0a8016b ccedfca0 cccb9f00
dd60: a0000193 ccee32d0 c05fdd94 ccee2000 ccee2000 ccedfaa0 cced2d80 cc4e6800
dd80: 00000003 ccedfaa0 c05fddbc c05fdd98 c033b938 c0327548 00000000 ccee2000
dda0: ccedae00 cced2d80 cc4e6800 00000003 c05fddec c05fddc0 c0327d84 c033b900
ddc0: ccee205c cced2d80 cced2d80 6b01a8c0 ccedae00 cced2840 cc4e6800 6801a8c0
dde0: c05fde14 c05fddf0 c036b634 c0327b54 6b01a8c0 ccedae00 cced2840 cc4e6800
de00: 00000003 00000000 c05fde34 c05fde18 c036c00c c036b5e0 6b01a8c0 00000000
de20: ccecf608 00000000 c05fde74 c05fde38 c036c828 c036bfcc 6b01a8c0 00000000
de40: ccecf608 00000000 c05fde74 cced2cc0 cced2840 ffffd4a0 00000000 c0333780
de60: c065bb0c c05fc000 c05fde94 c05fde78 c0333990 c036c6f0 000000a0 cced2864
de80: c065ad00 00000100 c05fdee4 c05fde98 c00549c0 c033378c c05fdebc ccc07600
dea0: cced2840 c065b90c c065b70c c065b50c c05fdeb0 c05fdeb0 c05fdedc 0000003c
dec0: c05fc000 00000001 00000004 00000001 0000000a 00000100 c05fdf24 c05fdee8
dee0: c004d470 c00547a4 c05fdf0c c05fdef8 c007ebec c065ab64 0000003c 0000003c
df00: 00000000 00000003 c060296c 50004008 410fb766 50025968 c05fdf34 c05fdf28
df20: c004d68c c004d3bc c05fdf4c c05fdf38 c002c06c c004d650 ffffffff f4000000
df40: c05fdfa4 c05fdf50 c03d7df4 c002c00c c06013e0 cceac680 c05fdf98 00000000
df60: c05fc000 c0026fdc c0026fd8 c060296c 50004008 410fb766 50025968 c05fdfa4
df80: c05fdfa8 c05fdf98 c002e0fc c002da48 60000013 ffffffff c05fdfbc c05fdfa8
dfa0: c002e0fc c002da34 c05febbc c0026fdc c05fdfcc c05fdfc0 c03d2458 c002e0c0
dfc0: c05fdff4 c05fdfd0 c00089bc c03d2404 c00084fc 00000000 271aed1d c0026fdc
dfe0: 00c5387d c05fe044 00000000 c05fdff8 5000803c c0008758 00000000 00000000
[<bf0403d8>] (STA_Legacy_Frame_Tx+0x268/0x2dc [rt3070sta]) from [<bf040de4>] (STAHardTransmit+0x1a4/0x270 [rt3070sta])
[<bf040de4>] (STAHardTransmit+0x1a4/0x270 [rt3070sta]) from [<bf010558>] (RTMPDeQueuePacket+0x52c/0x594 [rt3070sta])
[<bf010558>] (RTMPDeQueuePacket+0x52c/0x594 [rt3070sta]) from [<bf041678>] (STASendPackets+0xc8/0xdc [rt3070sta])
[<bf041678>] (STASendPackets+0xc8/0xdc [rt3070sta]) from [<bf0332a0>] (RTMPSendPackets+0x90/0xa8 [rt3070sta])
[<bf0332a0>] (RTMPSendPackets+0x90/0xa8 [rt3070sta]) from [<bf05bdf4>] (rt28xx_packet_xmit+0x3c/0x48 [rt3070sta])
[<bf05bdf4>] (rt28xx_packet_xmit+0x3c/0x48 [rt3070sta]) from [<bf05c020>] (rt28xx_send_packets+0x4c/0x50 [rt3070sta])
[<bf05c020>] (rt28xx_send_packets+0x4c/0x50 [rt3070sta]) from [<c0327964>] (dev_hard_start_xmit+0x428/0x60c)
[<c0327964>] (dev_hard_start_xmit+0x428/0x60c) from [<c033b938>] (sch_direct_xmit+0x44/0x1c0)
[<c033b938>] (sch_direct_xmit+0x44/0x1c0) from [<c0327d84>] (dev_queue_xmit+0x23c/0x3e4)
[<c0327d84>] (dev_queue_xmit+0x23c/0x3e4) from [<c036b634>] (arp_xmit+0x60/0x70)
[<c036b634>] (arp_xmit+0x60/0x70) from [<c036c00c>] (arp_send+0x4c/0x54)
[<c036c00c>] (arp_send+0x4c/0x54) from [<c036c828>] (arp_solicit+0x144/0x164)
[<c036c828>] (arp_solicit+0x144/0x164) from [<c0333990>] (neigh_timer_handler+0x210/0x274)
[<c0333990>] (neigh_timer_handler+0x210/0x274) from [<c00549c0>] (run_timer_softirq+0x228/0x310)
[<c00549c0>] (run_timer_softirq+0x228/0x310) from [<c004d470>] (__do_softirq+0xc0/0x190)
[<c004d470>] (__do_softirq+0xc0/0x190) from [<c004d68c>] (irq_exit+0x48/0x50)
[<c004d68c>] (irq_exit+0x48/0x50) from [<c002c06c>] (asm_do_IRQ+0x6c/0x8c)
[<c002c06c>] (asm_do_IRQ+0x6c/0x8c) from [<c03d7df4>] (__irq_svc+0x34/0x80)
Exception stack(0xc05fdf50 to 0xc05fdf98)
df40:                                     c06013e0 cceac680 c05fdf98 00000000
df60: c05fc000 c0026fdc c0026fd8 c060296c 50004008 410fb766 50025968 c05fdfa4
df80: c05fdfa8 c05fdf98 c002e0fc c002da48 60000013 ffffffff
[<c03d7df4>] (__irq_svc+0x34/0x80) from [<c002da48>] (default_idle+0x20/0x24)
[<c002da48>] (default_idle+0x20/0x24) from [<c002e0fc>] (cpu_idle+0x48/0x84)
[<c002e0fc>] (cpu_idle+0x48/0x84) from [<c03d2458>] (rest_init+0x60/0x78)
[<c03d2458>] (rest_init+0x60/0x78) from [<c00089bc>] (start_kernel+0x270/0x2c0)
[<c00089bc>] (start_kernel+0x270/0x2c0) from [<5000803c>] (0x5000803c)
Code: ebff34e1 e5962014 e3a03000 e1a01006 (e5c23004) 
---[ end trace da227214a82491b9 ]---
Kernel panic - not syncing: Fatal exception in interrupt
[<c003294c>] (unwind_backtrace+0x0/0xf0) from [<c03d5718>] (dump_stack+0x18/0x1c)
[<c03d5718>] (dump_stack+0x18/0x1c) from [<c03d577c>] (panic+0x60/0x188)
[<c03d577c>] (panic+0x60/0x188) from [<c0030904>] (die+0x1a0/0x1e4)
[<c0030904>] (die+0x1a0/0x1e4) from [<c0035ec8>] (__do_kernel_fault+0x6c/0x8c)
[<c0035ec8>] (__do_kernel_fault+0x6c/0x8c) from [<c03da110>] (do_page_fault+0x294/0x2b8)
[<c03da110>] (do_page_fault+0x294/0x2b8) from [<c002c2d4>] (do_DataAbort+0x3c/0x9c)
[<c002c2d4>] (do_DataAbort+0x3c/0x9c) from [<c03d7d8c>] (__dabt_svc+0x4c/0x80)
Exception stack(0xc05fdb10 to 0xc05fdb58)
db00:                                     00000000 c05fdbb4 00000000 00000000
db20: ccee210e c05fdc10 c05fdbb4 d08fa000 00000000 00000001 00000010 c05fdb84
db40: 00000000 c05fdb58 bf00d7ac bf0403d8 60000113 ffffffff
[<c03d7d8c>] (__dabt_svc+0x4c/0x80) from [<bf0403d8>] (STA_Legacy_Frame_Tx+0x268/0x2dc [rt3070sta])
[<bf0403d8>] (STA_Legacy_Frame_Tx+0x268/0x2dc [rt3070sta]) from [<bf040de4>] (STAHardTransmit+0x1a4/0x270 [rt3070sta])
[<bf040de4>] (STAHardTransmit+0x1a4/0x270 [rt3070sta]) from [<bf010558>] (RTMPDeQueuePacket+0x52c/0x594 [rt3070sta])
[<bf010558>] (RTMPDeQueuePacket+0x52c/0x594 [rt3070sta]) from [<bf041678>] (STASendPackets+0xc8/0xdc [rt3070sta])
[<bf041678>] (STASendPackets+0xc8/0xdc [rt3070sta]) from [<bf0332a0>] (RTMPSendPackets+0x90/0xa8 [rt3070sta])
[<bf0332a0>] (RTMPSendPackets+0x90/0xa8 [rt3070sta]) from [<bf05bdf4>] (rt28xx_packet_xmit+0x3c/0x48 [rt3070sta])
[<bf05bdf4>] (rt28xx_packet_xmit+0x3c/0x48 [rt3070sta]) from [<bf05c020>] (rt28xx_send_packets+0x4c/0x50 [rt3070sta])
[<bf05c020>] (rt28xx_send_packets+0x4c/0x50 [rt3070sta]) from [<c0327964>] (dev_hard_start_xmit+0x428/0x60c)
[<c0327964>] (dev_hard_start_xmit+0x428/0x60c) from [<c033b938>] (sch_direct_xmit+0x44/0x1c0)
[<c033b938>] (sch_direct_xmit+0x44/0x1c0) from [<c0327d84>] (dev_queue_xmit+0x23c/0x3e4)
[<c0327d84>] (dev_queue_xmit+0x23c/0x3e4) from [<c036b634>] (arp_xmit+0x60/0x70)
[<c036b634>] (arp_xmit+0x60/0x70) from [<c036c00c>] (arp_send+0x4c/0x54)
[<c036c00c>] (arp_send+0x4c/0x54) from [<c036c828>] (arp_solicit+0x144/0x164)
[<c036c828>] (arp_solicit+0x144/0x164) from [<c0333990>] (neigh_timer_handler+0x210/0x274)
[<c0333990>] (neigh_timer_handler+0x210/0x274) from [<c00549c0>] (run_timer_softirq+0x228/0x310)
[<c00549c0>] (run_timer_softirq+0x228/0x310) from [<c004d470>] (__do_softirq+0xc0/0x190)
[<c004d470>] (__do_softirq+0xc0/0x190) from [<c004d68c>] (irq_exit+0x48/0x50)
[<c004d68c>] (irq_exit+0x48/0x50) from [<c002c06c>] (asm_do_IRQ+0x6c/0x8c)
[<c002c06c>] (asm_do_IRQ+0x6c/0x8c) from [<c03d7df4>] (__irq_svc+0x34/0x80)
Exception stack(0xc05fdf50 to 0xc05fdf98)
df40:                                     c06013e0 cceac680 c05fdf98 00000000
df60: c05fc000 c0026fdc c0026fd8 c060296c 50004008 410fb766 50025968 c05fdfa4
df80: c05fdfa8 c05fdf98 c002e0fc c002da48 60000013 ffffffff
[<c03d7df4>] (__irq_svc+0x34/0x80) from [<c002da48>] (default_idle+0x20/0x24)
[<c002da48>] (default_idle+0x20/0x24) from [<c002e0fc>] (cpu_idle+0x48/0x84)
[<c002e0fc>] (cpu_idle+0x48/0x84) from [<c03d2458>] (rest_init+0x60/0x78)
[<c03d2458>] (rest_init+0x60/0x78) from [<c00089bc>] (start_kernel+0x270/0x2c0)
[<c00089bc>] (start_kernel+0x270/0x2c0) from [<5000803c>] (0x5000803c)
[/mw_shl_code]

最佳答案

查看完整内容[请看2#楼]

堆栈都打印出来了,从log中PC指向的函数找上去呀 STA_Legacy_Frame_Tx
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

13

主题

296

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2066
金钱
2066
注册时间
2012-5-26
在线时间
291 小时
发表于 2015-12-3 22:43:22 | 显示全部楼层
堆栈都打印出来了,从log中PC指向的函数找上去呀
STA_Legacy_Frame_Tx
活着才是王道!健康是一切的前提!
回复

使用道具 举报

48

主题

167

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
380
金钱
380
注册时间
2013-6-27
在线时间
17 小时
 楼主| 发表于 2015-12-4 08:56:31 | 显示全部楼层
回复【2楼】lison0103:
---------------------------------
知道那个,那个函数太长了。
好吧,
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-25 11:25

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表