I've committed a re-write to check_locking.c. I see as I was running the validation/ tests that there seems to be a problem with the irq handling in spin_trylock_irqsave(). I'll take a look at that. It was getting to be complicated to try keep the two versions in sync and the new code is better than the old code so I've committed it. Let me know any other issues you find. The new code is much cleaner and easier to debug than the old code. Since it's modular it should let me create a bunch of new locking checks. With the old code, even the double locking check was disabled because it was such a mess but now I have a check for that which is pretty decent and I should be able to push it soon. regards, dan carpenter