中断处理例程应当返回一个值指示是否真正处理了一个中断。如果处理例程发现设备确实需要处理, 应当返回 IRQ_HANDLED; 否则返回值 IRQ_NONE。以下宏可产生返回值:
|
有位网友在处理返回值是按惯例return 0;,导致了oops。吸取经验教训,我们应特别注意这种返回值,以下是有关中断处理例程的返回值的内核定义(#i nclude <linux/irqreturn.h> ),看了就知道 导致oops的原因了,以后应多多注意:
中断处理例程应当返回一个值指示是否真正处理了一个中断。如果处理例程发现设备确实需要处理, 应当返回 IRQ_HANDLED; 否则返回值 IRQ_NONE。以下宏可产生返回值:
|
有位网友在处理返回值是按惯例return 0;,导致了oops。吸取经验教训,我们应特别注意这种返回值,以下是有关中断处理例程的返回值的内核定义(#i nclude <linux/irqreturn.h> ),看了就知道 导致oops的原因了,以后应多多注意: