Browse Source

Demote failed hex2bin result to LOG_INFO and check return result in driver-bflsc to avoid doing find_work_by_midstate.

nfactor-troky
Con Kolivas 12 years ago
parent
commit
12a2cb0d3c
  1. 8
      driver-bflsc.c
  2. 2
      util.c

8
driver-bflsc.c

@ -1322,8 +1322,12 @@ static void process_nonces(struct cgpu_info *bflsc, int dev, char *xlink, char * @@ -1322,8 +1322,12 @@ static void process_nonces(struct cgpu_info *bflsc, int dev, char *xlink, char *
memset(midstate, 0, MIDSTATE_BYTES);
memset(blockdata, 0, MERKLE_BYTES);
hex2bin((unsigned char *)midstate, fields[QUE_MIDSTATE], MIDSTATE_BYTES);
hex2bin((unsigned char *)blockdata, fields[QUE_BLOCKDATA], MERKLE_BYTES);
if (!hex2bin((unsigned char *)midstate, fields[QUE_MIDSTATE], MIDSTATE_BYTES) ||
!hex2bin((unsigned char *)blockdata, fields[QUE_BLOCKDATA], MERKLE_BYTES)) {
applog(LOG_ERR, "%s%i:%s Failed to convert binary data to hex result - ignored",
bflsc->drv->name, bflsc->device_id, xlink);
inc_hw_errors(bflsc->thr[0]);
}
work = find_queued_work_bymidstate(bflsc, midstate, MIDSTATE_BYTES,
blockdata, MERKLE_OFFSET, MERKLE_BYTES);

2
util.c

@ -615,7 +615,7 @@ bool hex2bin(unsigned char *p, const char *hexstr, size_t len) @@ -615,7 +615,7 @@ bool hex2bin(unsigned char *p, const char *hexstr, size_t len)
hex_byte[1] = hexstr[1];
if (unlikely(sscanf(hex_byte, "%x", &v) != 1)) {
applog(LOG_ERR, "hex2bin sscanf '%s' failed", hex_byte);
applog(LOG_INFO, "hex2bin sscanf '%s' failed", hex_byte);
return ret;
}

Loading…
Cancel
Save