From e17a9452774cdc81aa2a3ab692ee132ca2cd4c59 Mon Sep 17 00:00:00 2001 From: Con Kolivas Date: Tue, 27 Aug 2013 20:31:33 +1000 Subject: [PATCH] Use take_queued_work_bymidstate in the bflsc driver to avoid the rare chance repeated results come back from the same work item. --- driver-bflsc.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/driver-bflsc.c b/driver-bflsc.c index 2f93f7b4..848f29e7 100644 --- a/driver-bflsc.c +++ b/driver-bflsc.c @@ -1250,8 +1250,8 @@ static void process_nonces(struct cgpu_info *bflsc, int dev, char *xlink, char * return; } - work = find_queued_work_bymidstate(bflsc, midstate, MIDSTATE_BYTES, - blockdata, MERKLE_OFFSET, MERKLE_BYTES); + work = take_queued_work_bymidstate(bflsc, midstate, MIDSTATE_BYTES, + blockdata, MERKLE_OFFSET, MERKLE_BYTES); if (!work) { if (sc_info->not_first_work) { applog(LOG_INFO, "%s%i:%s failed to find nonce work - can't be processed - ignored", @@ -1297,7 +1297,7 @@ static void process_nonces(struct cgpu_info *bflsc, int dev, char *xlink, char * sc_info->sc_devs[dev].work_queued -= 1; wr_unlock(&(sc_info->stat_lock)); - work_completed(bflsc, work); + free_work(work); } static int process_results(struct cgpu_info *bflsc, int dev, char *buf, int *nonces)