Browse Source

Don't try to get bitforce temperature if we're polling for a result to minimise the chance of interleaved responses.

nfactor-troky
Con Kolivas 12 years ago
parent
commit
2480cf23cc
  1. 11
      driver-bitforce.c
  2. 1
      miner.h

11
driver-bitforce.c

@ -347,6 +347,11 @@ static bool bitforce_get_temp(struct cgpu_info *bitforce)
if (!fdDev) if (!fdDev)
return false; 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 /* It is not critical getting temperature so don't get stuck if we
* can't grab the mutex here */ * can't grab the mutex here */
if (mutex_trylock(&bitforce->device_mutex)) 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; bitforce->wait_ms = sleep_time;
} }
if (send_ret) if (send_ret) {
bitforce->polling = true;
ret = bitforce_get_result(thr, work); ret = bitforce_get_result(thr, work);
else bitforce->polling = false;
} else
ret = -1; ret = -1;
if (ret == -1) { if (ret == -1) {

1
miner.h

@ -329,6 +329,7 @@ struct cgpu_info {
unsigned int avg_wait_d; unsigned int avg_wait_d;
uint32_t nonces; uint32_t nonces;
bool nonce_range; bool nonce_range;
bool polling;
#endif #endif
pthread_mutex_t device_mutex; pthread_mutex_t device_mutex;

Loading…
Cancel
Save