|
|
@@ -347,6 +347,11 @@ static bool bitforce_get_temp(struct cgpu_info *bitforce)
|
|
|
if (!fdDev)
|
|
|
return false;
|
|
|
|
|
|
+ /* Do not try to get the temperature if we're polling for a result to
|
|
|
+ * minimise the change of interleaved results */
|
|
|
+ if (bitforce->polling)
|
|
|
+ return true;
|
|
|
+
|
|
|
/* It is not critical getting temperature so don't get stuck if we
|
|
|
* can't grab the mutex here */
|
|
|
if (mutex_trylock(&bitforce->device_mutex))
|
|
|
@@ -627,9 +632,11 @@ static int64_t bitforce_scanhash(struct thr_info *thr, struct work *work, int64_
|
|
|
bitforce->wait_ms = sleep_time;
|
|
|
}
|
|
|
|
|
|
- if (send_ret)
|
|
|
+ if (send_ret) {
|
|
|
+ bitforce->polling = true;
|
|
|
ret = bitforce_get_result(thr, work);
|
|
|
- else
|
|
|
+ bitforce->polling = false;
|
|
|
+ } else
|
|
|
ret = -1;
|
|
|
|
|
|
if (ret == -1) {
|