mirror of
https://github.com/GOSTSec/sgminer
synced 2025-03-09 12:11:02 +00:00
Make the detection of all wrong results on avalon much more conservative to avoid false positives on work restarts.
This commit is contained in:
parent
c6b9a3eeea
commit
8b0531fb2b
@ -824,7 +824,7 @@ static int64_t avalon_scanhash(struct thr_info *thr)
|
||||
uint32_t nonce;
|
||||
int64_t hash_count;
|
||||
static int first_try = 0;
|
||||
int result_count, result_wrong;
|
||||
int result_wrong;
|
||||
|
||||
avalon = thr->cgpu;
|
||||
works = avalon->works;
|
||||
@ -886,7 +886,6 @@ static int64_t avalon_scanhash(struct thr_info *thr)
|
||||
elapsed.tv_sec = elapsed.tv_usec = 0;
|
||||
gettimeofday(&tv_start, NULL);
|
||||
|
||||
result_count = 0;
|
||||
result_wrong = 0;
|
||||
hash_count = 0;
|
||||
while (true) {
|
||||
@ -904,20 +903,14 @@ static int64_t avalon_scanhash(struct thr_info *thr)
|
||||
dev_error(avalon, REASON_DEV_COMMS_ERROR);
|
||||
return 0;
|
||||
}
|
||||
if (unlikely(ret == AVA_GETS_RESTART)) {
|
||||
/* Reset the wrong count in case there has only been
|
||||
* a small number of nonces tested before the restart.
|
||||
*/
|
||||
result_wrong = 0;
|
||||
if (unlikely(ret == AVA_GETS_RESTART))
|
||||
break;
|
||||
}
|
||||
if (unlikely(ret == AVA_GETS_TIMEOUT)) {
|
||||
timersub(&tv_finish, &tv_start, &elapsed);
|
||||
applog(LOG_DEBUG, "Avalon: no nonce in (%ld.%06lds)",
|
||||
elapsed.tv_sec, elapsed.tv_usec);
|
||||
continue;
|
||||
}
|
||||
result_count++;
|
||||
|
||||
if (!avalon_decode_nonce(thr, &ar, &nonce)) {
|
||||
info->no_matching_work++;
|
||||
@ -941,8 +934,8 @@ static int64_t avalon_scanhash(struct thr_info *thr)
|
||||
elapsed.tv_sec, elapsed.tv_usec);
|
||||
}
|
||||
}
|
||||
if (result_wrong && result_count == result_wrong) {
|
||||
/* This mean FPGA controller give all wrong result
|
||||
if (result_wrong >= info->miner_count) {
|
||||
/* This mean FPGA controller gave all wrong results, so
|
||||
* try to reset the Avalon */
|
||||
do_avalon_close(thr);
|
||||
applog(LOG_ERR,
|
||||
|
Loading…
x
Reference in New Issue
Block a user