On Mon, Nov 27, 2017 at 01:16:32PM -0800, Steve Wise wrote: > 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: 4fe7c2962e11 ("iw_cxgb4: refactor sq/rq drain logic") > Signed-off-by: Steve Wise <swise@xxxxxxxxxxxxxxxxxxxxx> > Cc: stable@xxxxxxxxxxxxxxx > drivers/infiniband/hw/cxgb4/cq.c | 5 +++++ > drivers/infiniband/hw/cxgb4/qp.c | 14 ++++++++++++-- > 2 files changed, 17 insertions(+), 2 deletions(-) Thanks applied to -rc Jason -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html