Commit f3f939dd83caf6bc28b8139d691d54211668a900

Con Kolivas 2013-08-16T13:57:07

Do not poll in avalon_get_results without sleeping if we have finished parsing a full result.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
diff --git a/driver-avalon.c b/driver-avalon.c
index 29e65be..4345f7b 100644
--- a/driver-avalon.c
+++ b/driver-avalon.c
@@ -872,8 +872,9 @@ static void *avalon_get_results(void *userdata)
 
 		/* As the usb read returns after just 1ms, sleep long enough
 		 * to leave the interface idle for writes to occur, but do not
-		 * sleep if we have been receiving data as more may be coming. */
-		if (ret < 1) {
+		 * sleep if we have been receiving data, and we do not yet have
+		 * a full result as more may be coming. */
+		if (ret < 1 || offset == 0) {
 			cgtime(&tv_end);
 			timersub(&tv_end, &tv_start, &tv_diff);
 			/* Assume it has not been > 1 second so ignore tv_sec */