diff --git a/lib/iscsi/conn.c b/lib/iscsi/conn.c index 9accb971d..f4e048d43 100644 --- a/lib/iscsi/conn.c +++ b/lib/iscsi/conn.c @@ -214,7 +214,7 @@ spdk_iscsi_conn_construct(struct spdk_iscsi_portal *portal, } pthread_mutex_lock(&g_spdk_iscsi.mutex); - conn->timeout = g_spdk_iscsi.timeout; + conn->timeout = g_spdk_iscsi.timeout * spdk_get_ticks_hz(); /* seconds to TSC */ conn->nopininterval = g_spdk_iscsi.nopininterval; conn->nopininterval *= spdk_get_ticks_hz(); /* seconds to TSC */ conn->nop_outstanding = false; @@ -1201,7 +1201,7 @@ spdk_iscsi_conn_handle_nop(struct spdk_iscsi_conn *conn) /* Check for nop interval expiration */ tsc = spdk_get_ticks(); if (conn->nop_outstanding) { - if ((tsc - conn->last_nopin) > (conn->timeout * spdk_get_ticks_hz())) { + if ((tsc - conn->last_nopin) > conn->timeout) { SPDK_ERRLOG("Timed out waiting for NOP-Out response from initiator\n"); SPDK_ERRLOG(" tsc=0x%lx, last_nopin=0x%lx\n", tsc, conn->last_nopin); SPDK_ERRLOG(" initiator=%s, target=%s\n", conn->initiator_name, diff --git a/lib/iscsi/conn.h b/lib/iscsi/conn.h index 0c4bc4329..d99ac981c 100644 --- a/lib/iscsi/conn.h +++ b/lib/iscsi/conn.h @@ -164,7 +164,7 @@ struct spdk_iscsi_conn { uint32_t data_out_cnt; uint32_t data_in_cnt; - int timeout; + uint64_t timeout; uint64_t nopininterval; bool nop_outstanding;