IB/qib: Completion queue callback needs to be single threaded
authorRalph Campbell <ralph.campbell@qlogic.com>
Thu, 17 Jun 2010 23:14:15 +0000 (23:14 +0000)
committerRoland Dreier <rolandd@cisco.com>
Tue, 6 Jul 2010 21:13:58 +0000 (14:13 -0700)
commit950aff53949268eec4b0f2bd49f700f9585698f7
tree6a03fa2f2f23f87db55e4ab0ec319a0511657ae8
parent7c7a416ef863a741c2031b5da1538773f9ab54f0
IB/qib: Completion queue callback needs to be single threaded

Workqueues aren't exactly equivalent to tasklets since the callback
function may be called from multiple CPUs before the callback returns.
This causes completion notification callbacks to have MT bugs since
they weren't expecting this behavior. The fix is to use a single
threaded work queue.

Signed-off-by: Ralph Campbell <ralph.campbell@qlogic.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
drivers/infiniband/hw/qib/qib_init.c