I get a kernel panic, if I initialize the semaphore to -1 (sema_init(&sem,-1)) and then try to acquire it by calling down() in a sample driver. what could be the reason for kernel panic and where exactly is it called from? Thanks and Regards Deepak -- Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ FAQ: http://kernelnewbies.org/faq/