mirror of
https://github.com/GOSTSec/sgminer
synced 2025-01-11 07:17:58 +00:00
MMQ allow partial work replies and count them
This commit is contained in:
parent
2653c906c1
commit
38ff2a7df9
@ -873,7 +873,7 @@ static uint64_t modminer_process_results(struct thr_info *thr)
|
|||||||
char cmd[2];
|
char cmd[2];
|
||||||
uint32_t nonce;
|
uint32_t nonce;
|
||||||
uint32_t curr_hw_errors;
|
uint32_t curr_hw_errors;
|
||||||
int err, amount;
|
int err, amount, amount2;
|
||||||
int timeoutloop;
|
int timeoutloop;
|
||||||
double timeout;
|
double timeout;
|
||||||
int temploop;
|
int temploop;
|
||||||
@ -908,6 +908,16 @@ static uint64_t modminer_process_results(struct thr_info *thr)
|
|||||||
}
|
}
|
||||||
|
|
||||||
err = usb_read(modminer, (char *)(&nonce), 4, &amount, C_GETWORKSTATUS);
|
err = usb_read(modminer, (char *)(&nonce), 4, &amount, C_GETWORKSTATUS);
|
||||||
|
while (err == LIBUSB_SUCCESS && amount < 4) {
|
||||||
|
size_t remain = 4 - amount;
|
||||||
|
char *pos = ((char *)(&nonce)) + amount;
|
||||||
|
|
||||||
|
state->success_more++;
|
||||||
|
|
||||||
|
err = usb_read(modminer, pos, remain, &amount2, C_GETWORKSTATUS);
|
||||||
|
|
||||||
|
amount += amount2;
|
||||||
|
}
|
||||||
mutex_unlock(modminer->modminer_mutex);
|
mutex_unlock(modminer->modminer_mutex);
|
||||||
|
|
||||||
if (err < 0 || amount < 4) {
|
if (err < 0 || amount < 4) {
|
||||||
@ -917,7 +927,7 @@ static uint64_t modminer_process_results(struct thr_info *thr)
|
|||||||
goto tryagain;
|
goto tryagain;
|
||||||
|
|
||||||
applog(LOG_ERR, "%s%u: Error reading (get nonce) (%d:%d)",
|
applog(LOG_ERR, "%s%u: Error reading (get nonce) (%d:%d)",
|
||||||
modminer->api->name, modminer->device_id, amount, err);
|
modminer->api->name, modminer->device_id, amount+amount2, err);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (memcmp(&nonce, "\xff\xff\xff\xff", 4)) {
|
if (memcmp(&nonce, "\xff\xff\xff\xff", 4)) {
|
||||||
|
1
miner.h
1
miner.h
@ -1033,6 +1033,7 @@ struct modminer_fpga_state {
|
|||||||
uint32_t shares_last_hw;
|
uint32_t shares_last_hw;
|
||||||
uint32_t hw_errors;
|
uint32_t hw_errors;
|
||||||
uint32_t shares_to_good;
|
uint32_t shares_to_good;
|
||||||
|
uint32_t success_more;
|
||||||
struct timeval last_changed;
|
struct timeval last_changed;
|
||||||
struct timeval last_nonce;
|
struct timeval last_nonce;
|
||||||
struct timeval first_work;
|
struct timeval first_work;
|
||||||
|
Loading…
Reference in New Issue
Block a user