Commit f4a9a8e60c61160583576941180427d1e412ca7c

Con Kolivas 2013-05-30T11:43:25

Do avalon driver detection last as it will try to claim any similar device and they are not reliably detected.

diff --git a/cgminer.c b/cgminer.c
index ea2ff51..768dd8e 100644
--- a/cgminer.c
+++ b/cgminer.c
@@ -7155,10 +7155,6 @@ static void *hotplug_thread(void __maybe_unused *userdata)
 			icarus_drv.drv_detect();
 #endif
 
-#ifdef USE_AVALON
-			avalon_drv.drv_detect();
-#endif
-
 #ifdef USE_BFLSC
 			bflsc_drv.drv_detect();
 #endif
@@ -7171,6 +7167,10 @@ static void *hotplug_thread(void __maybe_unused *userdata)
 			modminer_drv.drv_detect();
 #endif
 
+#ifdef USE_AVALON
+			avalon_drv.drv_detect();
+#endif
+
 			if (new_devices)
 				hotplug_process();
 
@@ -7384,11 +7384,6 @@ int main(int argc, char *argv[])
 		icarus_drv.drv_detect();
 #endif
 
-#ifdef USE_AVALON
-	if (!opt_scrypt)
-		avalon_drv.drv_detect();
-#endif
-
 #ifdef USE_BFLSC
 	if (!opt_scrypt)
 		bflsc_drv.drv_detect();
@@ -7409,6 +7404,13 @@ int main(int argc, char *argv[])
 		ztex_drv.drv_detect();
 #endif
 
+	/* Detect avalon last since it will try to claim the device regardless
+	 * as detection is unreliable. */
+#ifdef USE_AVALON
+	if (!opt_scrypt)
+		avalon_drv.drv_detect();
+#endif
+
 	if (devices_enabled == -1) {
 		applog(LOG_ERR, "Devices detected:");
 		for (i = 0; i < total_devices; ++i) {