diff options
author | David S. Miller <davem@davemloft.net> | 2018-09-12 22:22:42 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2018-09-12 22:22:42 -0700 |
commit | aaf9253025e80cf8f62d7b33670e84e838eec5a3 (patch) | |
tree | f13b307c8407cc05ff803c4d7f6a0967d85ce3ec /drivers/infiniband/hw/cxgb4/qp.c | |
parent | a20625e49ddefc250c221478fb0dc62ea27722a6 (diff) | |
parent | 7428b2e5d0b195f2a5e40f91d2b41a8503fcfe68 (diff) | |
download | blackbird-obmc-linux-aaf9253025e80cf8f62d7b33670e84e838eec5a3.tar.gz blackbird-obmc-linux-aaf9253025e80cf8f62d7b33670e84e838eec5a3.zip |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
Diffstat (limited to 'drivers/infiniband/hw/cxgb4/qp.c')
-rw-r--r-- | drivers/infiniband/hw/cxgb4/qp.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/infiniband/hw/cxgb4/qp.c b/drivers/infiniband/hw/cxgb4/qp.c index b3203afa3b1d..347fe18b1a41 100644 --- a/drivers/infiniband/hw/cxgb4/qp.c +++ b/drivers/infiniband/hw/cxgb4/qp.c @@ -1685,6 +1685,12 @@ static void flush_qp(struct c4iw_qp *qhp) schp = to_c4iw_cq(qhp->ibqp.send_cq); if (qhp->ibqp.uobject) { + + /* for user qps, qhp->wq.flushed is protected by qhp->mutex */ + if (qhp->wq.flushed) + return; + + qhp->wq.flushed = 1; t4_set_wq_in_error(&qhp->wq, 0); t4_set_cq_in_error(&rchp->cq); spin_lock_irqsave(&rchp->comp_handler_lock, flag); |