- 论坛徽章:
- 0
|
在 request_irq 函数中如果中断类型是电平触发 IRQF_TRIGGER_LOW ,这时是正常的。如果中断类型改为边沿触发 IRQF_TRIGGER_FALLING ,这时执行到 request_irq 就有Oops出现。
Faulting instruction address: 0x00000000
Oops: Kernel access of bad area, sig: 11 [#1]
MPC8309 SOM
last sysfs file: /sys/class/ubi/ubi0/min_io_size
Modules linked in: mram
NIP: 00000000 LR: c0051d30 CTR: 00000000
REGS: ce62dcc0 TRAP: 0400 Not tainted (2.6.34)
MSR: 20001032 <ME,IR,DR> CR: 24002222 XER: 20000000
TASK = ccac6100[1878] 'a.out' THREAD: ce62c000
GPR00: 00000202 ce62dd70 ccac6100 00000017 00000002 00000017 cca7df9c fffffffa
GPR08: 00000000 00000000 00004000 00000000 20002282 10018a8c 00000000 00000000
GPR16: 73cdb142 00000000 00000000 00000000 00000000 00000000 1009f20c 00000000
GPR24: d3a839d8 d3a83bc8 cb19e400 00009032 00000017 cca7df60 cb19e3e0 00000000
Call Trace:
[ce62dd70] [c0051c40] 0xc0051c40 (unreliable)
[ce62dd90] [c0051e0c] 0xc0051e0c
[ce62ddc0] [d3a836b8] 0xd3a836b8
[ce62dde0] [c0086084] 0xc0086084
[ce62de10] [c00808ac] 0xc00808ac
[ce62de30] [c008d308] 0xc008d308
[ce62de60] [c008f31c] 0xc008f31c
[ce62df10] [c00806f0] 0xc00806f0
[ce62df40] [c0010e38] 0xc0010e38
--- Exception: c01 at 0xff5ff18
LR = 0x10000538
Instruction dump:
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
---[ end trace 1e1f0ef0f589e15a ]--- |
|