Browse Source

IB/iser: Protect completion context active_qps update

As iser connections can share completion contexts, we need
to protect the active_qps update each time we set it.

Signed-off-by: Max Gurtovoy <maxg@mellanox.com>
Acked-by: Sagi Grimberg <sagi@grimberg.me>
Signed-off-by: Doug Ledford <dledford@redhat.com>
Max Gurtovoy 8 years ago
parent
commit
32f8e839ed
1 changed files with 2 additions and 0 deletions
  1. 2 0
      drivers/infiniband/ulp/iser/iser_verbs.c

+ 2 - 0
drivers/infiniband/ulp/iser/iser_verbs.c

@@ -597,7 +597,9 @@ static void iser_free_ib_conn_res(struct iser_conn *iser_conn,
 		  iser_conn, ib_conn->cma_id, ib_conn->qp);
 
 	if (ib_conn->qp != NULL) {
+		mutex_lock(&ig.connlist_mutex);
 		ib_conn->comp->active_qps--;
+		mutex_unlock(&ig.connlist_mutex);
 		rdma_destroy_qp(ib_conn->cma_id);
 		ib_conn->qp = NULL;
 	}