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: Jim Harris <james.r.harris@intel.com> Change-Id: I79d427512f7829ad76bf89155e0e14c7bce3a7d7 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/15499 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Changpeng Liu <changpeng.liu@intel.com> Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com> Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
This commit is contained in:
parent
090b8af12b
commit
b35aceb8cf
@ -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) {
|
||||
|
Loading…
Reference in New Issue
Block a user