BUG: scheduling while atomic: gnode/1005/0x00000100
Modules linked in: nRF905
Pid: 1005, comm: gnode
CPU: 0 Not tainted (2.6.30.10 #7)
PC is at 0x8ed8
LR is at 0xa0f8
pc : [<00008ed8>] lr : [<0000a0f8>] psr: 60000010
sp : 411a4cb8 ip : fbad2a84 fp : 411a4cd4
r10: 00000000 r9 : bebb8c98 r8 : 411a4fb0
r7 : 00000152 r6 : 00000000 r5 : 411a4df0 r4 : 00000000
r3 : 00014080 r2 : 00014080 r1 : 411a4d9c r0 : 00014080
Flags: nZCv IRQs on FIQs on Mode USER_32 ISA ARM Segment user
Control: c000717f Table: 3240c000 DAC: 00000015
inux内核打印"BUG: scheduling while atomic"和"bad: scheduling from the idle thread"错误的时候,通常是在中断处理函数中调用了可以休眠的函数,如semaphore,mutex,sleep之类的可休眠的函数,而 linux内核要求在中断处理的时候,不允许系统高度,不允许抢占,要等到中断处理完成才能做其他事情
Modules linked in: nRF905
Pid: 1005, comm: gnode
CPU: 0 Not tainted (2.6.30.10 #7)
PC is at 0x8ed8
LR is at 0xa0f8
pc : [<00008ed8>] lr : [<0000a0f8>] psr: 60000010
sp : 411a4cb8 ip : fbad2a84 fp : 411a4cd4
r10: 00000000 r9 : bebb8c98 r8 : 411a4fb0
r7 : 00000152 r6 : 00000000 r5 : 411a4df0 r4 : 00000000
r3 : 00014080 r2 : 00014080 r1 : 411a4d9c r0 : 00014080
Flags: nZCv IRQs on FIQs on Mode USER_32 ISA ARM Segment user
Control: c000717f Table: 3240c000 DAC: 00000015
inux内核打印"BUG: scheduling while atomic"和"bad: scheduling from the idle thread"错误的时候,通常是在中断处理函数中调用了可以休眠的函数,如semaphore,mutex,sleep之类的可休眠的函数,而 linux内核要求在中断处理的时候,不允许系统高度,不允许抢占,要等到中断处理完成才能做其他事情