Browse Source

Avoid attempting to recursively lock the console mutex by disabling warnings in gpu_fanpercent when fanspeed monitoring fails on windows. Debugged by luke-jr.

Con Kolivas 13 years ago
parent
commit
272ba4ed89
1 changed files with 10 additions and 0 deletions
  1. 10 0
      adl.c

+ 10 - 0
adl.c

@@ -703,6 +703,8 @@ int gpu_fanpercent(int gpu)
 	ret = __gpu_fanpercent(ga);
 	ret = __gpu_fanpercent(ga);
 	unlock_adl();
 	unlock_adl();
 	if (unlikely(ga->has_fanspeed && ret == -1)) {
 	if (unlikely(ga->has_fanspeed && ret == -1)) {
+#if 0
+		/* Recursive calling applog causes a hang, so disable messages */
 		applog(LOG_WARNING, "GPU %d stopped reporting fanspeed due to driver corruption", gpu);
 		applog(LOG_WARNING, "GPU %d stopped reporting fanspeed due to driver corruption", gpu);
 		if (opt_restart) {
 		if (opt_restart) {
 			applog(LOG_WARNING, "Restart enabled, will attempt to restart cgminer");
 			applog(LOG_WARNING, "Restart enabled, will attempt to restart cgminer");
@@ -716,6 +718,14 @@ int gpu_fanpercent(int gpu)
 			ga->twin->twin = NULL;;
 			ga->twin->twin = NULL;;
 			ga->twin = NULL;
 			ga->twin = NULL;
 		}
 		}
+#endif
+		if (opt_restart)
+			app_restart();
+		ga->has_fanspeed = false;
+		if (ga->twin) {
+			ga->twin->twin = NULL;;
+			ga->twin = NULL;
+		}
 	}
 	}
 	return ret;
 	return ret;
 }
 }