Commit f821d0fbf3f5ed92992326e8435ec64181afd5b1

ckolivas 2013-10-15T13:31:07

Set device_diff on work in get_work to not be missed with drivers that use get_work directly.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
diff --git a/cgminer.c b/cgminer.c
index c0b8d2e..872dffe 100644
--- a/cgminer.c
+++ b/cgminer.c
@@ -5988,6 +5988,7 @@ struct work *get_work(struct thr_info *thr, const int thr_id)
 	work->thr_id = thr_id;
 	thread_reportin(thr);
 	work->mined = true;
+	work->device_diff = MIN(thr->cgpu->drv->max_diff, work->work_difficulty);
 	return work;
 }
 
@@ -6341,7 +6342,6 @@ static void fill_queue(struct thr_info *mythr, struct cgpu_info *cgpu, struct de
 		if (need_work) {
 			struct work *work = get_work(mythr, thr_id);
 
-			work->device_diff = MIN(drv->max_diff, work->work_difficulty);
 			wr_lock(&cgpu->qlock);
 			HASH_ADD_INT(cgpu->queued_work, id, work);
 			wr_unlock(&cgpu->qlock);