当前位置: 代码迷 >> 驱动开发 >> 嵌入式内核报Oops 何位高人能指点一二
  详细解决方案

嵌入式内核报Oops 何位高人能指点一二

热度:22   发布时间:2016-04-28 10:44:51.0
嵌入式内核报Oops 哪位高人能指点一二
Internal error: Oops: 11 [#1]
Modules linked in: wlan tcc_dm9000 ufsd(P) hpd hdmidrv TCC8900_nand(P)
CPU: 0 Tainted: P (2.6.28 #3206M)
PC is at __free_pipe_info+0x3c/0x6c
LR is at __free_pipe_info+0x40/0x6c
pc : [<c0194488>] lr : [<c019448c>] psr: 20000013
sp : c6fe1e60 ip : c6fe1e80 fp : c6fe1e7c
r10: c70fb3c0 r9 : c6fe0000 r8 : c6828354
r7 : c68282e0 r6 : c7000260 r5 : c7000230 r4 : 00000003
r3 : 0000b0ae r2 : 00000000 r1 : c7000294 r0 : c7000230
Flags: nzCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment user
Control: 00c5387d Table: 421ec008 DAC: 00000015
Process sh (pid: 27360, stack limit = 0xc6fe0260)
Stack: (0xc6fe1e60 to 0xc6fe2000)
1e60: 00000000 00000001 c7000230 c68282e0 c6fe1e8c c6fe1e80 c01944cc c0194458 
1e80: c6fe1eb4 c6fe1e90 c0194528 c01944c4 00000008 c6ee1c00 c6ee1c00 c68282e0 
1ea0: c6820dc8 c6fe0000 c6fe1ec4 c6fe1eb8 c01945b0 c01944dc c6fe1ef4 c6fe1ec8 
1ec0: c018f514 c01945a4 00000000 c6fe1ed8 00000000 c6ee1c00 c6feed20 c6feed20 
1ee0: c6feed28 00000000 c6fe1f04 c6fe1ef8 c018f5fc c018f434 c6fe1f24 c6fe1f08 
1f00: c018c49c c018f5d8 0000001f 00000000 00000004 c6feed20 c6fe1f4c c6fe1f28 
1f20: c0143798 c018c43c 00000000 c7094000 000ec017 000000f8 c0121f88 c6fe0000 
1f40: c6fe1f5c c6fe1f50 c0143814 c014371c c6fe1f7c c6fe1f60 c0144d60 c01437f8 
1f60: be895f36 00000001 00000003 40025000 c6fe1f94 c6fe1f80 c01452f4 c0144bc8 
1f80: 00092e04 00092de0 c6fe1fa4 c6fe1f98 c0145340 c014527c 00000000 c6fe1fa8 
1fa0: c0121de0 c0145334 00092e04 00092de0 00000000 00000000 000ec008 00000000 
1fc0: 00092e04 00092de0 000ec017 000000f8 00000000 00000003 40025000 be895e64 
1fe0: 40165340 be8958b0 0005d52c 40165370 60000010 00000000 00000000 00000000 
Backtrace: 
[<c019444c>] (__free_pipe_info+0x0/0x6c) from [<c01944cc>] (free_pipe_info+0x14/0x18)
 r7:c68282e0 r6:c7000230 r5:00000001 r4:00000000
[<c01944b8>] (free_pipe_info+0x0/0x18) from [<c0194528>] (pipe_release+0x58/0xa4)
[<c01944d0>] (pipe_release+0x0/0xa4) from [<c01945b0>] (pipe_write_release+0x18/0x1c)
 r9:c6fe0000 r8:c6820dc8 r7:c68282e0 r6:c6ee1c00 r5:c6ee1c00
r4:00000008
[<c0194598>] (pipe_write_release+0x0/0x1c) from [<c018f514>] (__fput+0xec/0x1a4)
[<c018f428>] (__fput+0x0/0x1a4) from [<c018f5fc>] (fput+0x30/0x34)
[<c018f5cc>] (fput+0x0/0x34) from [<c018c49c>] (filp_close+0x6c/0x78)
[<c018c430>] (filp_close+0x0/0x78) from [<c0143798>] (put_files_struct+0x88/0xdc)
 r7:c6feed20 r6:00000004 r5:00000000 r4:0000001f
[<c0143710>] (put_files_struct+0x0/0xdc) from [<c0143814>] (exit_files+0x28/0x2c)
 r9:c6fe0000 r8:c0121f88 r7:000000f8 r6:000ec017 r5:c7094000
r4:00000000
[<c01437ec>] (exit_files+0x0/0x2c) from [<c0144d60>] (do_exit+0x1a4/0x6b4)
[<c0144bbc>] (do_exit+0x0/0x6b4) from [<c01452f4>] (do_group_exit+0x84/0xb8)
[<c0145270>] (do_group_exit+0x0/0xb8) from [<c0145340>] (sys_exit_group+0x18/0x20)
 r5:00092de0 r4:00092e04
[<c0145328>] (sys_exit_group+0x0/0x20) from [<c0121de0>] (ret_fast_syscall+0x0/0x2c)
Code: e2811034 e1a00005 0a000001 e1a0e00f (e593f010) 
---[ end trace d7365da4a6923c5e ]---
Fixing recursive fault but reboot is needed!

这是 报的错误。想请高人指教,加重粉哦

------解决方案--------------------
直接查看内核的__free_pipe_info找找灵感?大致好像是关闭某个文件或者设备节点时释放管道资源出现严重错误,你只能循着back trace自己找找拉。
------解决方案--------------------
Backtrace:
[<c019444c>] (__free_pipe_info+0x0/0x6c) from [<c01944cc>] (free_pipe_info+0x14/0x18)

挂在free_pipe_info函数偏移0x14/0x18的位置了..去那看看吧。