Commit 2d448072df379d962c28d7935999d527b4760475

Con Kolivas 2013-12-23T17:50:55

Reinstate work utility based hashmeter for knc.

diff --git a/driver-knc-spi-fpga.c b/driver-knc-spi-fpga.c
index d47e842..835f7d0 100644
--- a/driver-knc-spi-fpga.c
+++ b/driver-knc-spi-fpga.c
@@ -511,7 +511,7 @@ static int64_t knc_process_response(struct thr_info *thr, struct cgpu_info *cgpu
 				    struct spi_rx_t *rxbuf)
 {
 	struct knc_state *knc = cgpu->device_data;
-	int submitted, completed, i, num_sent;
+	int submitted, successful, i, num_sent;
 	int next_read_q, next_read_a;
 	struct timeval now;
 	struct timespec ts_now;
@@ -561,7 +561,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) &&
@@ -625,6 +625,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  {
 					stats_bad_share(knc, rxbuf->responses[i].asic, rxbuf->responses[i].core, &ts_now);
 					bool process_hwerr = (cidx < (int)sizeof(knc->hwerrs));
@@ -667,10 +668,9 @@ static int64_t knc_process_response(struct thr_info *thr, struct cgpu_info *cgpu
 			       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 */