diff --git a/driver-modminer.c b/driver-modminer.c index ab79fae7..f95c0318 100644 --- a/driver-modminer.c +++ b/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); diff --git a/miner.h b/miner.h index ac8acc70..b0659d9e 100644 --- a/miner.h +++ b/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;