iser-target: Remove redundant wait in release_conn
authorJenny Derzhavetz <jennyf@mellanox.com>
Wed, 24 Feb 2016 17:24:02 +0000 (19:24 +0200)
committerNicholas Bellinger <nab@linux-iscsi.org>
Fri, 11 Mar 2016 05:48:38 +0000 (21:48 -0800)
With current termination flow we call release_conn after completion.

Signed-off-by: Jenny Derzhavetz <jennyf@mellanox.com>
Signed-off-by: Sagi Grimberg <sagig@mellanox.com>
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
drivers/infiniband/ulp/isert/ib_isert.c
drivers/infiniband/ulp/isert/ib_isert.h

index 0e1a802..01d3726 100644 (file)
@@ -583,7 +583,6 @@ isert_init_conn(struct isert_conn *isert_conn)
        INIT_LIST_HEAD(&isert_conn->node);
        init_completion(&isert_conn->login_comp);
        init_completion(&isert_conn->login_req_comp);
-       init_completion(&isert_conn->wait);
        kref_init(&isert_conn->kref);
        mutex_init(&isert_conn->mutex);
        spin_lock_init(&isert_conn->pool_lock);
@@ -834,7 +833,6 @@ isert_handle_unbound_conn(struct isert_conn *isert_conn)
                 */
                list_del_init(&isert_conn->node);
                isert_put_conn(isert_conn);
-               complete(&isert_conn->wait);
                queue_work(isert_release_wq, &isert_conn->release_work);
        }
        mutex_unlock(&isert_np->mutex);
@@ -867,9 +865,6 @@ isert_conn_terminate(struct isert_conn *isert_conn)
        if (err)
                isert_warn("Failed rdma_disconnect isert_conn %p\n",
                           isert_conn);
-
-       isert_info("conn %p completing wait\n", isert_conn);
-       complete(&isert_conn->wait);
 }
 
 static int
@@ -3274,8 +3269,6 @@ static void isert_release_work(struct work_struct *work)
 
        isert_info("Starting release conn %p\n", isert_conn);
 
-       wait_for_completion(&isert_conn->wait);
-
        mutex_lock(&isert_conn->mutex);
        isert_conn->state = ISER_CONN_DOWN;
        mutex_unlock(&isert_conn->mutex);
index 1aa019a..9f916b1 100644 (file)
@@ -201,7 +201,6 @@ struct isert_conn {
        struct ib_qp            *qp;
        struct isert_device     *device;
        struct mutex            mutex;
-       struct completion       wait;
        struct completion       wait_comp_err;
        struct kref             kref;
        struct list_head        fr_pool;