Browse Source

Perform a mandatory reset if the avalon buffer signals it's full before it has queued its normal quota of work.

nfactor-troky
Con Kolivas 12 years ago
parent
commit
589e08772e
  1. 5
      driver-avalon.c

5
driver-avalon.c

@ -770,7 +770,9 @@ static void *avalon_send_tasks(void *userdata)
applog(LOG_WARNING, applog(LOG_WARNING,
"AVA%i: Buffer full before all work queued", "AVA%i: Buffer full before all work queued",
avalon->device_id); avalon->device_id);
avalon->results -= avalon_get_work_count - j; dev_error(avalon, REASON_DEV_COMMS_ERROR);
avalon_reset(avalon, fd);
avalon_idle(avalon, info, fd);
break; break;
} }
@ -795,6 +797,7 @@ static void *avalon_send_tasks(void *userdata)
avalon_idle(avalon, info, fd); avalon_idle(avalon, info, fd);
} }
} }
avalon_rotate_array(avalon); avalon_rotate_array(avalon);
pthread_cond_signal(&info->qcond); pthread_cond_signal(&info->qcond);
mutex_unlock(&info->qlock); mutex_unlock(&info->qlock);

Loading…
Cancel
Save