There are a few possible cases, this one is the worst imo: * you are using the mutex or critical section impl * In thread 1 you do a transaction to device A, but the cs pin fails to deassert * before thread 1 even has a chance to react to the error, it is preempted by thread 2 * thread 2 does a transaction to device B while the cs for device A is still active