diff --git a/cgminer.c b/cgminer.c index 0d154f4f..0fec0aa6 100644 --- a/cgminer.c +++ b/cgminer.c @@ -4353,13 +4353,10 @@ static void *watchdog_thread(void __maybe_unused *userdata) enum dev_enable *denable; int gpu; char dev_str[8]; - + if (cgpu->api->get_stats) cgpu->api->get_stats(cgpu); - /* Use only one thread per device to determine if the GPU is healthy */ - if (i >= nDevs) - break; gpu = thr->cgpu->device_id; denable = &cgpu->deven; sprintf(dev_str, "%s%d", cgpu->api->name, gpu); diff --git a/driver-bitforce.c b/driver-bitforce.c index dc8fa6ed..a02000ed 100644 --- a/driver-bitforce.c +++ b/driver-bitforce.c @@ -39,18 +39,15 @@ static void BFgets(char *buf, size_t bufLen, int fd) buf[0] = '\0'; } -static ssize_t BFwrite2(int fd, const void *buf, ssize_t bufLen) +static ssize_t BFwrite(int fd, const void *buf, ssize_t bufLen) { - return write(fd, buf, bufLen); + if ((bufLen) != write(fd, buf, bufLen)) { + applog(LOG_ERR, "BFL: Error writing: %s", buf); + return 0; + } else + return bufLen; } -#define BFwrite(fd, buf, bufLen) do { \ - if ((bufLen) != BFwrite2(fd, buf, bufLen)) { \ - applog(LOG_ERR, "BFL: Error writing (" #buf ")"); \ - return 0; \ - } \ -} while(0) - #define BFclose(fd) close(fd) static bool bitforce_detect_one(const char *devpath) @@ -83,6 +80,7 @@ static bool bitforce_detect_one(const char *devpath) bitforce->deven = DEV_ENABLED; bitforce->threads = 1; bitforce->sleep_ms = BITFORCE_SLEEP_MS; + bitforce->kname = __FILE__; if (likely((!memcmp(pdevbuf, ">>>ID: ", 7)) && (s = strstr(pdevbuf + 3, ">>>")))) { s[0] = '\0'; @@ -138,7 +136,7 @@ static bool bitforce_thread_prepare(struct thr_info *thr) return true; } -static bool bitforce_init(struct cgpu_info *bitforce) +void bitforce_init(struct cgpu_info *bitforce) { int fdDev = bitforce->device_fd; char *devpath = bitforce->device_path; @@ -155,7 +153,7 @@ static bool bitforce_init(struct cgpu_info *bitforce) fdDev = BFopen(devpath); if (unlikely(fdDev == -1)) { applog(LOG_ERR, "BFL%i: Failed to open %s", bitforce->device_id, devpath); - return false; + return; } bitforce->device_fd = fdDev; @@ -167,12 +165,12 @@ static bool bitforce_init(struct cgpu_info *bitforce) if (unlikely(!pdevbuf[0])) { applog(LOG_ERR, "BFL%i: Error reading (ZGX)", bitforce->device_id); - return false; + return; } if (unlikely(!strstr(pdevbuf, "SHA256"))) { applog(LOG_ERR, "BFL%i: Didn't recognise BitForce on %s", bitforce->device_id, devpath); - return false; + return; } if (likely((!memcmp(pdevbuf, ">>>ID: ", 7)) && (s = strstr(pdevbuf + 3, ">>>")))) @@ -180,8 +178,6 @@ static bool bitforce_init(struct cgpu_info *bitforce) s[0] = '\0'; bitforce->name = strdup(pdevbuf + 7); } - - return true; } static bool bitforce_get_temp(struct cgpu_info *bitforce)