> down_interruptible(&process_lock); note that you're not checking the return value of down_interruptible() !! down_interruptible does not always actually take the lock, and it tells you that via the return value. If you don't check that..... you are in deep trouble when that happens -- Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ FAQ: http://kernelnewbies.org/faq/