|
|
@ -6260,12 +6260,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; |
|
|
@ -6309,10 +6313,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; |
|
|
|