From: Sagi Grimberg Date: Sun, 7 Dec 2014 14:10:00 +0000 (+0200) Subject: IB/iser: Terminate connection before cleaning inflight tasks X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=f0caef6d407bf0fc8dfba5cddf7318170187f194;p=linux.git IB/iser: Terminate connection before cleaning inflight tasks When closing the connection, we should first terminate the connection (in case it was not previously terminated) to guarantee the QP is in error state and we are done with servicing IO. Only then go ahead with tasks cleanup via iscsi_conn_stop. Signed-off-by: Sagi Grimberg Signed-off-by: Or Gerlitz Signed-off-by: Roland Dreier --- diff --git a/drivers/infiniband/ulp/iser/iscsi_iser.c b/drivers/infiniband/ulp/iser/iscsi_iser.c index bca97dcf0b4ea..0af32cdb34a18 100644 --- a/drivers/infiniband/ulp/iser/iscsi_iser.c +++ b/drivers/infiniband/ulp/iser/iscsi_iser.c @@ -541,8 +541,8 @@ iscsi_iser_conn_stop(struct iscsi_cls_conn *cls_conn, int flag) */ if (iser_conn) { mutex_lock(&iser_conn->state_mutex); - iscsi_conn_stop(cls_conn, flag); iser_conn_terminate(iser_conn); + iscsi_conn_stop(cls_conn, flag); /* unbind */ iser_conn->iscsi_conn = NULL;