Browse Source

MMQ count work check timeout failures

Kano 13 years ago
parent
commit
072909a12f
2 changed files with 7 additions and 2 deletions
  1. 6 2
      driver-modminer.c
  2. 1 0
      miner.h

+ 6 - 2
driver-modminer.c

@@ -898,8 +898,10 @@ static uint64_t modminer_process_results(struct thr_info *thr)
 
 			// timeoutloop never resets so the timeouts can't
 			// accumulate much during a single item of work
-			if (err == LIBUSB_ERROR_TIMEOUT && ++timeoutloop < 10)
+			if (err == LIBUSB_ERROR_TIMEOUT && ++timeoutloop < 10) {
+				state->timeout_fail++;
 				goto tryagain;
+			}
 
 			applog(LOG_ERR, "%s%u: Error sending (get nonce) (%d:%d)",
 				modminer->api->name, modminer->device_id, amount, err);
@@ -923,8 +925,10 @@ static uint64_t modminer_process_results(struct thr_info *thr)
 		if (err < 0 || amount < 4) {
 			// timeoutloop never resets so the timeouts can't
 			// accumulate much during a single item of work
-			if (err == LIBUSB_ERROR_TIMEOUT && ++timeoutloop < 10)
+			if (err == LIBUSB_ERROR_TIMEOUT && ++timeoutloop < 10) {
+				state->timeout_fail++;
 				goto tryagain;
+			}
 
 			applog(LOG_ERR, "%s%u: Error reading (get nonce) (%d:%d)",
 				modminer->api->name, modminer->device_id, amount+amount2, err);

+ 1 - 0
miner.h

@@ -1033,6 +1033,7 @@ struct modminer_fpga_state {
 	uint32_t shares_last_hw;
 	uint32_t hw_errors;
 	uint32_t shares_to_good;
+	uint32_t timeout_fail;
 	uint32_t success_more;
 	struct timeval last_changed;
 	struct timeval last_nonce;