Hi all: I am tracking a driver bug in arm linux when I got a scheduling in interrupt context panic. I traced into kernel schedule() function, and found that "scheduling in interrupt" is a check point when then process scheduler is invoked, and the callstack reveals that the scheduler is invoked due to semaphore down(). After that, the program counter must located in BUG(), that is something like "(void *)0 = 0" if we really scheduling in interrupt contxt, and should cause the kernel to panic. However, what i got is that the latest program counter when the kernel crashed was located within the do_IRQ() context. Is there any possibility we got this incorrect information, or I have misunderstanding about kernel context switch? Could you please describe any possiblities that will cause this anomaly? Thanks. -- To unsubscribe from this list: send an email with "unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx Please read the FAQ at http://kernelnewbies.org/FAQ