diff --git a/driver-bflsc.c b/driver-bflsc.c index 423832ef..e0d556b0 100644 --- a/driver-bflsc.c +++ b/driver-bflsc.c @@ -1302,7 +1302,7 @@ static int process_results(struct cgpu_info *bflsc, int dev, char *buf, int *non { struct bflsc_info *sc_info = (struct bflsc_info *)(bflsc->device_data); char **items, *firstname, **fields, *lf; - int que, i, lines, count; + int que = 0, i, lines, count; char xlink[17]; char *tmp, *tmp2; bool res; @@ -1311,13 +1311,19 @@ static int process_results(struct cgpu_info *bflsc, int dev, char *buf, int *non xlinkstr(xlink, sizeof(xlink), dev, sc_info); + if (!strncasecmp(buf, BFLSC_INPROCESS, BFLSC_INPROCESS_LEN)) { + tmp = str_text(buf); + applog(LOG_WARNING, "%s%i:%s in process response (%s) ignored", + bflsc->drv->name, bflsc->device_id, xlink, tmp); + free(tmp); + goto arigatou; + } res = tolines(bflsc, dev, buf, &lines, &items, C_GETRESULTS); if (!res || lines < 1) { tmp = str_text(buf); applog(LOG_ERR, "%s%i:%s empty result (%s) ignored", bflsc->drv->name, bflsc->device_id, xlink, tmp); free(tmp); - que = 0; goto arigatou; } @@ -1326,7 +1332,6 @@ static int process_results(struct cgpu_info *bflsc, int dev, char *buf, int *non applog(LOG_ERR, "%s%i:%s result too small (%s) ignored", bflsc->drv->name, bflsc->device_id, xlink, tmp); free(tmp); - que = 0; goto arigatou; } diff --git a/driver-bflsc.h b/driver-bflsc.h index 08d75ac4..7107c0ed 100644 --- a/driver-bflsc.h +++ b/driver-bflsc.h @@ -263,6 +263,8 @@ struct SaveString { #define BFLSC_ERRSIG_LEN (sizeof(BFLSC_ERRSIG)-1) #define BFLSC_OKQ "OK:QUEUED" #define BFLSC_OKQ_LEN (sizeof(BFLSC_OKQ)-1) +#define BFLSC_INPROCESS "INPROCESS" +#define BFLSC_INPROCESS_LEN (sizeof(BFLSC_INPROCESS)-1) // Followed by N=1..5 #define BFLSC_OKQN "OK:QUEUED " #define BFLSC_OKQN_LEN (sizeof(BFLSC_OKQN)-1)