Commit 0da8868799584cfd3143f1d329d57eb0c6d61c6b

Con Kolivas 2013-04-07T14:45:54

We should check for a restart message before checking for a timeout in avalon scanhash.

diff --git a/driver-avalon.c b/driver-avalon.c
index 959b43e..5a23cbf 100644
--- a/driver-avalon.c
+++ b/driver-avalon.c
@@ -884,12 +884,6 @@ static int64_t avalon_scanhash(struct thr_info *thr)
 			dev_error(avalon, REASON_DEV_COMMS_ERROR);
 			return 0;
 		}
-		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;
-		}
 		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.
@@ -897,6 +891,12 @@ static int64_t avalon_scanhash(struct thr_info *thr)
 			result_wrong = 0;
 			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)) {