Browse Source

bitforce: Allow a longer timeout (1250ms) for ZCX (Device Information) commands

Luke Dashjr 12 years ago
parent
commit
1ffd6ccf77
1 changed files with 8 additions and 2 deletions
  1. 8 2
      driver-bitforce.c

+ 8 - 2
driver-bitforce.c

@@ -181,7 +181,10 @@ static bool bitforce_detect_one(const char *devpath)
 	*initdata = (struct bitforce_init_data){
 		.sc = false,
 	};
-	for ( bitforce_cmd1(fdDev, 0, pdevbuf, sizeof(pdevbuf), "ZCX");
+	bitforce_cmd1(fdDev, 0, pdevbuf, sizeof(pdevbuf), "ZCX");
+	for (int i = 0; (!pdevbuf[0]) && i < 4; ++i)
+		BFgets(pdevbuf, sizeof(pdevbuf), fdDev);
+	for ( ;
 	      strncasecmp(pdevbuf, "OK", 2);
 	      BFgets(pdevbuf, sizeof(pdevbuf), fdDev) )
 	{
@@ -210,7 +213,10 @@ static bool bitforce_detect_one(const char *devpath)
 	{
 		applog(LOG_DEBUG, "Slave board %d:", proc);
 		initdata->parallels[proc] = 1;
-		for ( bitforce_cmd1(fdDev, proc, pdevbuf, sizeof(pdevbuf), "ZCX");
+		bitforce_cmd1(fdDev, 0, pdevbuf, sizeof(pdevbuf), "ZCX");
+		for (int i = 0; (!pdevbuf[0]) && i < 4; ++i)
+			BFgets(pdevbuf, sizeof(pdevbuf), fdDev);
+		for ( ;
 		      strncasecmp(pdevbuf, "OK", 2);
 		      BFgets(pdevbuf, sizeof(pdevbuf), fdDev) )
 		{