There was a Study of Common Pitfalls in Simple Multi-Threaded Programs conducted by the University of Washington. The detected errors were divided into 3 categories: Data Races, Deadlock and Miscellaneous.
In the Miscellaneous category, there was an error I don't understand:
Unnecessary use of interrupt disabling and lock acquisition and release
What does interrupt disabling and lock acquisition and release mean?
Why it shouldn't be used together?