Browse Source

Bugfix: gridseed: Add delay between Scrypt reset and sending work

Prevents a rare register corruption
Nate Woolls 11 years ago
parent
commit
980ec1a171
2 changed files with 8 additions and 0 deletions
  1. 4 0
      driver-dualminer.c
  2. 4 0
      driver-gridseed.c

+ 4 - 0
driver-dualminer.c

@@ -191,6 +191,10 @@ bool dualminer_job_start(struct thr_info * const thr)
 			gc3355_scrypt_reset(fd);
 		else
 			gc3355_scrypt_only_reset(fd);
+
+		// prevent register corruption
+		// otherwise device may hang (rare issue)
+		cgsleep_ms(100);
 	}
 
 	return icarus_job_start(thr);

+ 4 - 0
driver-gridseed.c

@@ -173,6 +173,10 @@ bool gridseed_prepare_work(struct thr_info __maybe_unused *thr, struct work *wor
 
 	gc3355_scrypt_reset(device->device_fd);
 	gc3355_scrypt_prepare_work(cmd, work);
+
+	// prevent register corruption
+	// otherwise device may hang (rare issue)
+	cgsleep_ms(100);
 	
 	// send work
 	if (sizeof(cmd) != gc3355_write(device->device_fd, cmd, sizeof(cmd)))