mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-21 15:48:56 +07:00
bc52e9ca74
__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> |
||
---|---|---|
.. | ||
cm.c | ||
cq.c | ||
device.c | ||
ev.c | ||
id_table.c | ||
iw_cxgb4.h | ||
Kconfig | ||
Makefile | ||
mem.c | ||
provider.c | ||
qp.c | ||
resource.c | ||
t4.h | ||
t4fw_ri_api.h |