|
The previous implementation suffered from four problems:
1. try_lock in the basic irq_lock always succeeded.
2. lock in the basic irq_lock always succeeded.
3. try_lock in the wrapper irq_lock did not use the base try_lock.
4. a foreign CPU could wrongly unlock a remote irq_lock.
These issues are mitigated in this patch.
|