diff --git a/lib/iscsi/iscsi.c b/lib/iscsi/iscsi.c index 1f6207b56..f1421d543 100644 --- a/lib/iscsi/iscsi.c +++ b/lib/iscsi/iscsi.c @@ -2129,7 +2129,6 @@ iscsi_op_login_rsp_handle_t_bit(struct spdk_iscsi_conn *conn, } conn->full_feature = 1; - spdk_iscsi_conn_schedule(conn); break; default: @@ -2241,6 +2240,9 @@ iscsi_op_login(struct spdk_iscsi_conn *conn, struct spdk_iscsi_pdu *pdu) rc = iscsi_op_login_response(conn, rsp_pdu, *params_p); if (rc == 0) { conn->state = ISCSI_CONN_STATE_RUNNING; + if (conn->full_feature != 0) { + spdk_iscsi_conn_schedule(conn); + } } else { SPDK_ERRLOG("login error - connection will be destroyed\n"); }