aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorSteve Wise <swise@opengridcomputing.com>2014-11-21 10:36:36 -0500
committerRoland Dreier <roland@purestorage.com>2014-12-15 21:10:46 -0500
commit5b341808835e29cff9e074712d39cee376f8d866 (patch)
tree949bb143261d43c3d766c6699fcfef7d59c0d1db /drivers
parent2550a88d956fb77c34d71b46a0a8e9ebf1c5b4a3 (diff)
RDMA/cxgb4: Wake up waiters after flushing the qp
When transitioning into ERROR state, the QP was getting flushed after waking up any waiters. This can cause applications to miss flushed work requests which can stall an NFS mount. Signed-off-by: Steve Wise <swise@opengridcomputing.com> Signed-off-by: Roland Dreier <roland@purestorage.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/infiniband/hw/cxgb4/qp.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/infiniband/hw/cxgb4/qp.c b/drivers/infiniband/hw/cxgb4/qp.c
index 2ed3ece2b2ee..bb85d479e66e 100644
--- a/drivers/infiniband/hw/cxgb4/qp.c
+++ b/drivers/infiniband/hw/cxgb4/qp.c
@@ -1538,9 +1538,9 @@ err:
1538 set_state(qhp, C4IW_QP_STATE_ERROR); 1538 set_state(qhp, C4IW_QP_STATE_ERROR);
1539 free = 1; 1539 free = 1;
1540 abort = 1; 1540 abort = 1;
1541 wake_up(&qhp->wait);
1542 BUG_ON(!ep); 1541 BUG_ON(!ep);
1543 flush_qp(qhp); 1542 flush_qp(qhp);
1543 wake_up(&qhp->wait);
1544out: 1544out:
1545 mutex_unlock(&qhp->mutex); 1545 mutex_unlock(&qhp->mutex);
1546 1546