Commit b35aceb8 authored by Jim Harris's avatar Jim Harris Committed by Tomasz Zawadzki
Browse files

iscsi: unregister login_timer when destroying connection



If a connection is established and we receive a bad
PDU before successful login, the login_timer would not
get unregistered.  So ensure the login_timer is always
unregistered in _iscsi_conn_destruct().

Found with Calsoft tests during new spdk_thread_exit()
assertion testing.  Lack of unregistration would result
in its associated spdk_thread being unable to exit
cleanly due to the unexpired timer.

Signed-off-by: default avatarJim Harris <james.r.harris@intel.com>
Change-Id: I79d427512f7829ad76bf89155e0e14c7bce3a7d7
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/15499


Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: default avatarChangpeng Liu <changpeng.liu@intel.com>
Reviewed-by: default avatarAleksey Marchuk <alexeymar@nvidia.com>
Reviewed-by: default avatarTomasz Zawadzki <tomasz.zawadzki@intel.com>
parent 090b8af1
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -612,6 +612,7 @@ _iscsi_conn_destruct(struct spdk_iscsi_conn *conn)
	iscsi_clear_all_transfer_task(conn, NULL, NULL);
	spdk_poller_unregister(&conn->logout_request_timer);
	spdk_poller_unregister(&conn->logout_timer);
	spdk_poller_unregister(&conn->login_timer);

	rc = iscsi_conn_free_tasks(conn);
	if (rc < 0) {