- Separate interrupt descriptors lookup from allocation. It was possible to perform config on non-existing interrupt simply by allocating spurious descriptor.
- Must lock the interrupt descriptors table lookup to avoid mismatches. This ought to prevent trouble while setting up new interrupt and dispatching existing one.
- Use spin mutex rather than sleep mutex. This is mainly due to lock in arm_dispatch_intr
This should be eventually changed to a lock-less solution without
walking through a linked list on each interrupt.
Reviewed by:
Obtained from: Semihalf
Sponsored by: Cavium
Differential Revision: