Check for AVA_GETS_RESTART when deciding if avalon has messed up.
diff --git a/driver-avalon.c b/driver-avalon.c
index 9435c36..9724dca 100644
--- a/driver-avalon.c
+++ b/driver-avalon.c
@@ -811,7 +811,7 @@ static int64_t avalon_scanhash(struct thr_info *thr)
{
struct cgpu_info *avalon;
struct work **works;
- int fd, ret, full;
+ int fd, ret = AVA_GETS_OK, full;
struct avalon_info *info;
struct avalon_task at;
@@ -934,7 +934,7 @@ static int64_t avalon_scanhash(struct thr_info *thr)
elapsed.tv_sec, elapsed.tv_usec);
}
}
- if (result_wrong >= info->miner_count) {
+ if (result_wrong >= info->miner_count && ret != AVA_GETS_RESTART) {
/* This mean FPGA controller gave all wrong results, so
* try to reset the Avalon */
do_avalon_close(thr);