OpenCloudOS-Kernel/drivers/infiniband/hw
Steve Wise c058ecf6e4 iw_cxgb4: only insert drain cqes if wq is flushed
Only insert our special drain CQEs to support ib_drain_sq/rq() after
the wq is flushed. Otherwise, existing but not yet polled CQEs can be
returned out of order to the user application.  This can happen when the
QP has exited RTS but not yet flushed the QP, which can happen during
a normal close (vs abortive close).

In addition never count the drain CQEs when determining how many CQEs
need to be synthesized during the flush operation.  This latter issue
should never happen if the QP is properly flushed before inserting the
drain CQE, but I wanted to avoid corrupting the CQ state.  So we handle
it and log a warning once.

Fixes: 4fe7c2962e ("iw_cxgb4: refactor sq/rq drain logic")
Signed-off-by: Steve Wise <swise@opengridcomputing.com>
Cc: stable@vger.kernel.org
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
2017-12-11 15:33:51 -07:00
..
bnxt_re Updates for 4.15 kernel merge window 2017-11-15 14:54:53 -08:00
cxgb3 Updates for 4.15 kernel merge window 2017-11-15 14:54:53 -08:00
cxgb4 iw_cxgb4: only insert drain cqes if wq is flushed 2017-12-11 15:33:51 -07:00
hfi1 IB/hfi1: Initialize bth1 in 16B rc ack builder 2017-11-30 16:01:28 -07:00
hns RDMA/hns: Get rid of page operation after dma_alloc_coherent 2017-12-01 12:21:27 -07:00
i40iw i40iw: Notify user of established connection after QP in RTS 2017-12-01 12:21:26 -07:00
mlx4 IB/mlx4: Fix RSS hash fields restrictions 2017-12-07 15:28:07 -05:00
mlx5 treewide: setup_timer() -> timer_setup() 2017-11-21 15:57:07 -08:00
mthca treewide: setup_timer() -> timer_setup() (2 field) 2017-11-21 15:57:09 -08:00
nes treewide: Remove TIMER_FUNC_TYPE and TIMER_DATA_TYPE casts 2017-11-21 16:35:54 -08:00
ocrdma IB/ocrdma_hw: remove unnecessary code in ocrdma_mbx_dealloc_lkey 2017-11-13 16:18:33 -05:00
qedr Updates for 4.15 kernel merge window 2017-11-15 14:54:53 -08:00
qib Merge branch 'akpm' (patches from Andrew) 2017-11-15 19:42:40 -08:00
usnic Updates for 4.15 kernel merge window 2017-11-15 14:54:53 -08:00
vmw_pvrdma RDMA/vmw_pvrdma: Add shared receive queue support 2017-11-13 16:18:33 -05:00
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00