Hi 卜弋天, > 2.6.35, i checked the function handle_level_irq()and handle_edge_irq() in > chip.c, both of them will call handle_IRQ_event() which is in handle.c. and > the function handle_IRQ_event() will call the interrupt handler written by > user. Kernel does not open interrupt(ARM CPSR I bit)when calling interrupt > handler in handle_IRQ_event() function. Thank you for the valuable pointers. I have looked at the handle_IRQ_event function, it seems at the end of the do while loop its unconditionally disable the local interrupt (ARM CPSR I bit). If the handler is running with interrupts disabled, why do we need to disable the interrupts again. Could you please explain about this logic. Thanks in advance for your help and sorry to take up your time on this. -- With Regards Subin Gangadharan I am not afraid and I am also not afraid of being afraid. _______________________________________________ Kernelnewbies mailing list Kernelnewbies@xxxxxxxxxxxxxxxxx http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies