From f3f939dd83caf6bc28b8139d691d54211668a900 Mon Sep 17 00:00:00 2001 From: Con Kolivas Date: Fri, 16 Aug 2013 13:57:07 +1000 Subject: [PATCH] Do not poll in avalon_get_results without sleeping if we have finished parsing a full result. --- driver-avalon.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/driver-avalon.c b/driver-avalon.c index 29e65beb..4345f7bd 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 */