From 1452cbff126a325f98e5aad4f5b0fce2c22eb5df Mon Sep 17 00:00:00 2001 From: Kano Date: Mon, 14 Oct 2013 13:28:36 +1100 Subject: [PATCH] klondike - can only calculate the nonce difference on or after the 2nd nonce --- driver-klondike.c | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/driver-klondike.c b/driver-klondike.c index 69834657..91e4ca90 100644 --- a/driver-klondike.c +++ b/driver-klondike.c @@ -696,18 +696,20 @@ static void klondike_check_nonce(struct cgpu_info *klncgpu, KLIST *kitem) klninfo->delay_count++; klninfo->delay_total += us_diff; - us_diff = us_tdiff(&(kitem->tv_when), &(klninfo->tv_last_nonce_received)); - if (klninfo->nonce_count == 0) { - klninfo->nonce_min = us_diff; - klninfo->nonce_max = us_diff; - } else { - if (klninfo->nonce_min > us_diff) + if (klninfo->nonce_count > 0) { + us_diff = us_tdiff(&(kitem->tv_when), &(klninfo->tv_last_nonce_received)); + if (klninfo->nonce_count == 1) { klninfo->nonce_min = us_diff; - if (klninfo->nonce_max < us_diff) klninfo->nonce_max = us_diff; + } else { + if (klninfo->nonce_min > us_diff) + klninfo->nonce_min = us_diff; + if (klninfo->nonce_max < us_diff) + klninfo->nonce_max = us_diff; + } + klninfo->nonce_total += us_diff; } klninfo->nonce_count++; - klninfo->nonce_total += us_diff; memcpy(&(klninfo->tv_last_nonce_received), &(kitem->tv_when), sizeof(klninfo->tv_last_nonce_received));