Browse Source

Reset the work_restart bool after the scanwork loop in case the driver flushes work synchronously.

nfactor-troky
Con Kolivas 11 years ago committed by Noel Maersk
parent
commit
cd03fcdf2d
  1. 12
      cgminer.c

12
cgminer.c

@ -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;

Loading…
Cancel
Save