aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSagi Grimberg <sagig@mellanox.com>2014-12-07 09:10:00 -0500
committerRoland Dreier <roland@purestorage.com>2014-12-15 21:11:44 -0500
commitf0caef6d407bf0fc8dfba5cddf7318170187f194 (patch)
treed034482f20fc277ffb5df5174a59e3d96313a3f4
parent7414dde0a6c3a958e26141991bf5c75dc58d28b2 (diff)
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 <sagig@mellanox.com> Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com> Signed-off-by: Roland Dreier <roland@purestorage.com>
-rw-r--r--drivers/infiniband/ulp/iser/iscsi_iser.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/infiniband/ulp/iser/iscsi_iser.c b/drivers/infiniband/ulp/iser/iscsi_iser.c
index bca97dcf0b4e..0af32cdb34a1 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)
541 */ 541 */
542 if (iser_conn) { 542 if (iser_conn) {
543 mutex_lock(&iser_conn->state_mutex); 543 mutex_lock(&iser_conn->state_mutex);
544 iscsi_conn_stop(cls_conn, flag);
545 iser_conn_terminate(iser_conn); 544 iser_conn_terminate(iser_conn);
545 iscsi_conn_stop(cls_conn, flag);
546 546
547 /* unbind */ 547 /* unbind */
548 iser_conn->iscsi_conn = NULL; 548 iser_conn->iscsi_conn = NULL;