Hi, All, I'm looking for a help on a kernel module programming issue. Currently I ran out of ideas why it does not work and I really appreciate any help. We have a hardware device I have a driver written for. It works without any problem on any of Red Hat versions with any version of kernel 2.4.x+ The same driver compiles fine on a SuSE 7.x enterprise, but here is a problem: For synchronization I use semaphores. Semaphores initializes with init_MUTEX_LOCKED function which basically set the atomic value of a count to 0. In a routine that looking for a data I use a function down_interruptible(&sem) which should check the count value to be 0 and if it so the thread goes to slip until the ISR will set the semaphore count back to initial value with a command up(&sem); What happens with my driver, when it comes to the command down_interruptible(...) the whole system just hangs. I could not find any restrictions on using this mechanism, but just for the testing I switched from using semaphores to wait queues. The result is exactly the same. What am I doing wrong? The kernel I'm running is 2.4.7-64G... and the OS is SuSE7.x Enterprise I did not try yet to run the same driver on a SuSE 8.0. I'll do it on Monday. Again, It works fine on any Red Hat OS Please help Regards, Vladimir Libershteyn HP, 408-285-5270