diff options
author | Steve Wise <swise@opengridcomputing.com> | 2014-11-21 18:36:36 +0300 |
---|---|---|
committer | Roland Dreier <roland@purestorage.com> | 2014-12-16 05:10:46 +0300 |
commit | 5b341808835e29cff9e074712d39cee376f8d866 (patch) | |
tree | 949bb143261d43c3d766c6699fcfef7d59c0d1db /drivers/infiniband | |
parent | 2550a88d956fb77c34d71b46a0a8e9ebf1c5b4a3 (diff) | |
download | linux-5b341808835e29cff9e074712d39cee376f8d866.tar.xz |
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/infiniband')
-rw-r--r-- | drivers/infiniband/hw/cxgb4/qp.c | 2 |
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: set_state(qhp, C4IW_QP_STATE_ERROR); free = 1; abort = 1; - wake_up(&qhp->wait); BUG_ON(!ep); flush_qp(qhp); + wake_up(&qhp->wait); out: mutex_unlock(&qhp->mutex); |