|
|
@ -968,10 +968,9 @@ static void *klondike_get_replies(void *userdata) |
|
|
|
|
|
|
|
|
|
|
|
// We can't check this until it's initialised
|
|
|
|
// We can't check this until it's initialised
|
|
|
|
if (klninfo->initialised) { |
|
|
|
if (klninfo->initialised) { |
|
|
|
wr_lock(&(klninfo->stat_lock)); |
|
|
|
rd_lock(&(klninfo->stat_lock)); |
|
|
|
slaves = klninfo->status[0].kline.ws.slavecount; |
|
|
|
slaves = klninfo->status[0].kline.ws.slavecount; |
|
|
|
klninfo->jobque[dev].late_update_sequential = 0; |
|
|
|
rd_unlock(&(klninfo->stat_lock)); |
|
|
|
wr_unlock(&(klninfo->stat_lock)); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (kitem->kline.hd.dev > slaves) { |
|
|
|
if (kitem->kline.hd.dev > slaves) { |
|
|
|
applog(LOG_ERR, "%s%i: reply [%c] has invalid dev=%d (max=%d) using 0", |
|
|
|
applog(LOG_ERR, "%s%i: reply [%c] has invalid dev=%d (max=%d) using 0", |
|
|
@ -979,7 +978,13 @@ static void *klondike_get_replies(void *userdata) |
|
|
|
(char)(kitem->kline.hd.cmd), |
|
|
|
(char)(kitem->kline.hd.cmd), |
|
|
|
(int)(kitem->kline.hd.dev), |
|
|
|
(int)(kitem->kline.hd.dev), |
|
|
|
slaves); |
|
|
|
slaves); |
|
|
|
|
|
|
|
/* TODO: this is rather problematic if there are slaves
|
|
|
|
|
|
|
|
* however without slaves - it should always be zero */ |
|
|
|
kitem->kline.hd.dev = 0; |
|
|
|
kitem->kline.hd.dev = 0; |
|
|
|
|
|
|
|
} else { |
|
|
|
|
|
|
|
wr_lock(&(klninfo->stat_lock)); |
|
|
|
|
|
|
|
klninfo->jobque[kitem->kline.hd.dev].late_update_sequential = 0; |
|
|
|
|
|
|
|
wr_unlock(&(klninfo->stat_lock)); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|