linux-stable/drivers/infiniband
Steve Wise bc52e9ca74 iw_cxgb4: atomically flush the qp
__flush_qp() has a race condition where during the flush operation,
the qp lock is released allowing another thread to possibly post a WR,
which corrupts the queue state, possibly causing crashes.  The lock was
released to preserve the cq/qp locking hierarchy of cq first, then qp.
However releasing the qp lock is not necessary; both RQ and SQ CQ locks
can be acquired first, followed by the qp lock, and then the RQ and SQ
flushing can be done w/o unlocking.

Signed-off-by: Steve Wise <swise@opengridcomputing.com>
Signed-off-by: Doug Ledford <dledford@redhat.com>
2017-11-13 16:59:22 -05:00
..
core IB/core: Only maintain real QPs in the security lists 2017-11-13 16:24:17 -05:00
hw iw_cxgb4: atomically flush the qp 2017-11-13 16:59:22 -05:00
sw IB/rxe: don't crash, if allocation of crc algorithm failed 2017-11-10 13:43:50 -05:00
ulp IB/srpt: Ensure that modifying the use_srq configfs attribute works 2017-11-13 15:25:16 -05:00
Kconfig infiniband: add MMU dependency for user_mem 2017-10-10 10:49:44 -04:00
Makefile