Hello, A question about disable_irq() and local_disable_irq() in init_module() of a Module I am writing; my eth driver listens on irq 11; I try (for learning purpose only) disable_irq(11) and it works ; (I know that it is not recommended) . The NIC cannot ping outside ; but when I try , in the same place , (init_module() method) to call local_irq_disable() (instead of disable_irq(11) ) the nic DOES ping !! and also the keyboard continues to respond ! why is it so ? aren't all interrupts (NIC, keyboard and others) should be disabled in such a case ? In the kernel log I see, in the second case, the following: Debug: sleeping function called from invalid context at include/asm/semaphore.h:102 in_atomic():0, irqs_disabled():1 [<c01483b2>] sys_init_module+0xd0/0x1b5 <c0103a51>] syscall_call+0x7/0xb any ideas what happens here? Regards, John -- Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ FAQ: http://kernelnewbies.org/faq/