Browse Source

Attempt to initialise while bitforce device returns BUSY.

Con Kolivas 13 years ago
parent
commit
7046c976bc
1 changed files with 10 additions and 8 deletions
  1. 10 8
      driver-bitforce.c

+ 10 - 8
driver-bitforce.c

@@ -176,14 +176,16 @@ void bitforce_init(struct cgpu_info *bitforce)
 		return;
 		return;
 	}
 	}
 
 
-	BFwrite(fdDev, "ZGX", 3);
-	BFgets(pdevbuf, sizeof(pdevbuf), fdDev);
-	
-	if (unlikely(!pdevbuf[0])) {
-		mutex_unlock(&bitforce->device_mutex);
-		applog(LOG_ERR, "BFL%i: Error reading (ZGX)", bitforce->device_id);
-		return;
-	}
+	do {
+		BFwrite(fdDev, "ZGX", 3);
+		BFgets(pdevbuf, sizeof(pdevbuf), fdDev);
+
+		if (unlikely(!pdevbuf[0])) {
+			mutex_unlock(&bitforce->device_mutex);
+			applog(LOG_ERR, "BFL%i: Error reading (ZGX)", bitforce->device_id);
+			return;
+		}
+	} while (!strstr(pdevbuf, "BUSY"));
 
 
 	if (unlikely(!strstr(pdevbuf, "SHA256"))) {
 	if (unlikely(!strstr(pdevbuf, "SHA256"))) {
 		mutex_unlock(&bitforce->device_mutex);
 		mutex_unlock(&bitforce->device_mutex);