|
@@ -6631,12 +6631,16 @@ void hash_queued_work(struct thr_info *mythr)
|
|
|
struct timeval diff;
|
|
struct timeval diff;
|
|
|
int64_t hashes;
|
|
int64_t hashes;
|
|
|
|
|
|
|
|
- mythr->work_restart = mythr->work_update = false;
|
|
|
|
|
|
|
+ mythr->work_update = false;
|
|
|
|
|
|
|
|
fill_queue(mythr, cgpu, drv, thr_id);
|
|
fill_queue(mythr, cgpu, drv, thr_id);
|
|
|
|
|
|
|
|
hashes = drv->scanwork(mythr);
|
|
hashes = drv->scanwork(mythr);
|
|
|
|
|
|
|
|
|
|
+ /* Reset the bool here in case the driver looks for it
|
|
|
|
|
+ * synchronously in the scanwork loop. */
|
|
|
|
|
+ mythr->work_restart = false;
|
|
|
|
|
+
|
|
|
if (unlikely(hashes == -1 )) {
|
|
if (unlikely(hashes == -1 )) {
|
|
|
applog(LOG_ERR, "%s %d failure, disabling!", drv->name, cgpu->device_id);
|
|
applog(LOG_ERR, "%s %d failure, disabling!", drv->name, cgpu->device_id);
|
|
|
cgpu->deven = DEV_DISABLED;
|
|
cgpu->deven = DEV_DISABLED;
|
|
@@ -6680,10 +6684,14 @@ void hash_driver_work(struct thr_info *mythr)
|
|
|
struct timeval diff;
|
|
struct timeval diff;
|
|
|
int64_t hashes;
|
|
int64_t hashes;
|
|
|
|
|
|
|
|
- mythr->work_restart = mythr->work_update = false;
|
|
|
|
|
|
|
+ mythr->work_update = false;
|
|
|
|
|
|
|
|
hashes = drv->scanwork(mythr);
|
|
hashes = drv->scanwork(mythr);
|
|
|
|
|
|
|
|
|
|
+ /* Reset the bool here in case the driver looks for it
|
|
|
|
|
+ * synchronously in the scanwork loop. */
|
|
|
|
|
+ mythr->work_restart = false;
|
|
|
|
|
+
|
|
|
if (unlikely(hashes == -1 )) {
|
|
if (unlikely(hashes == -1 )) {
|
|
|
applog(LOG_ERR, "%s %d failure, disabling!", drv->name, cgpu->device_id);
|
|
applog(LOG_ERR, "%s %d failure, disabling!", drv->name, cgpu->device_id);
|
|
|
cgpu->deven = DEV_DISABLED;
|
|
cgpu->deven = DEV_DISABLED;
|