From 32ec3628219bfcbf1d964019302a9f420a7a9cab Mon Sep 17 00:00:00 2001 From: Con Kolivas Date: Mon, 28 Oct 2013 12:04:15 +1100 Subject: [PATCH] Only count successful nonces as hashrate in the knc driver. --- driver-knc-spi-fpga.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/driver-knc-spi-fpga.c b/driver-knc-spi-fpga.c index d28930a6..05d30168 100644 --- a/driver-knc-spi-fpga.c +++ b/driver-knc-spi-fpga.c @@ -368,7 +368,7 @@ static int64_t knc_process_response(struct thr_info *thr, struct cgpu_info *cgpu struct knc_state *knc = cgpu->knc_state; struct work *work; int64_t us; - int submitted, completed, i, num_sent; + int submitted, successful, i, num_sent; int next_read_q, next_read_a; struct timeval now; @@ -411,7 +411,7 @@ static int64_t knc_process_response(struct thr_info *thr, struct cgpu_info *cgpu /* check for completed works and calculated nonces */ gettimeofday(&now, NULL); - completed = 0; + successful = 0; for (i = 0; i < (int)MAX_RESPONSES_IN_BATCH; ++i) { if ( (rxbuf->responses[i].type != RESPONSE_TYPE_NONCE_FOUND) && @@ -470,6 +470,7 @@ static int64_t knc_process_response(struct thr_info *thr, struct cgpu_info *cgpu knc->disa_cnt[cidx] = 0; knc->hwerr_work_id[cidx] = 0xFFFFFFFF; } + successful++; } else { if ((cidx < (int)sizeof(knc->hwerrs)) && (knc->hwerr_work_id[cidx] != rxbuf->responses[i].work_id)) { @@ -505,10 +506,9 @@ static int64_t knc_process_response(struct thr_info *thr, struct cgpu_info *cgpu &(knc->active_fifo[knc->read_a]), sizeof(struct active_work)); knc->active_fifo[knc->read_a].work = NULL; - ++completed; } - return ((uint64_t)completed) * 0x100000000UL; + return ((uint64_t)successful) * 0x100000000UL; } /* Send flush command via SPI */