Well, a blocking mutex like this only works if you have a critical section the entire time it's locked.
Otherwise:
- Thread locks mutex
- Interrupt fires, tries to lock
- Already locked, so blocks
- We're always in interrupt and the thread can't ever unlock the mutex