Browse Source

bitfury: Reinitialise chips if their active nonce stops changing

Luke Dashjr 12 years ago
parent
commit
0abe810f84
1 changed files with 3 additions and 1 deletions
  1. 3 1
      driver-bitfury.c

+ 3 - 1
driver-bitfury.c

@@ -510,8 +510,10 @@ void bitfury_do_io(struct thr_info *thr)
 		if (unlikely(n >= 0xf))
 		if (unlikely(n >= 0xf))
 		{
 		{
 			inc_hw_errors2(thr, NULL, NULL);
 			inc_hw_errors2(thr, NULL, NULL);
-			applog(LOG_DEBUG, "%"PRIpreprv": Full result match, ignoring response",
+			applog(LOG_DEBUG, "%"PRIpreprv": Full result match, reinitialising",
 			       proc->proc_repr);
 			       proc->proc_repr);
+			send_reinit(bitfury->spi, bitfury->slot, bitfury->fasync, bitfury->osc6_bits);
+			bitfury->desync_counter = 99;
 			goto out;
 			goto out;
 		}
 		}
 	}
 	}