@@ -5478,10 +5478,18 @@ static bool cnx_needed(struct pool *pool)
{
struct pool *cp;
+ /* Balance strategies need all pools online */
if (pool_strategy == POOL_BALANCE)
return true;
if (pool_strategy == POOL_LOADBALANCE)
+
+ /* Idle pool needs something to kick it alive again */
+ if (pool->idle)
+ return true;
+ /* Getwork pools without opt_fail_only need backup pools up to be able
+ * to leak shares */
cp = current_pool();
if (cp == pool)
@@ -1133,6 +1133,7 @@ int _usb_read(struct cgpu_info *cgpu, int ep, char *buf, size_t bufsiz, int *pro
}
tot = 0;
+ err = LIBUSB_SUCCESS;
while (bufsiz) {
got = 0;
STATS_TIMEVAL(&tv_start);