diff --git a/driver-avalon.c b/driver-avalon.c index d5b58a66..486c0c69 100644 --- a/driver-avalon.c +++ b/driver-avalon.c @@ -622,9 +622,6 @@ static void avalon_parse_results(struct cgpu_info *avalon, struct avalon_info *i size_t i, spare = AVALON_READ_SIZE - *offset; bool found = false; - if (spare > AVALON_READ_SIZE - 1) - spare = AVALON_READ_SIZE - 1; - for (i = 0; i <= spare; i++) { struct avalon_result *ar; struct work *work; @@ -650,7 +647,10 @@ static void avalon_parse_results(struct cgpu_info *avalon, struct avalon_info *i } } - spare = AVALON_READ_SIZE + i; + if (!found) + spare = *offset - AVALON_READ_SIZE - 1; + else + spare = AVALON_READ_SIZE + i; *offset -= spare; memmove(buf, buf + spare, *offset); if (!found) {