Commit 272ba4ed8954baad1f70705c62567440d252e851

Con Kolivas 2012-08-20T11:52:15

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

diff --git a/adl.c b/adl.c
index 7f12ecd..4e3ecb2 100644
--- a/adl.c
+++ b/adl.c
@@ -703,6 +703,8 @@ int gpu_fanpercent(int gpu)
 	ret = __gpu_fanpercent(ga);
 	unlock_adl();
 	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);
 		if (opt_restart) {
 			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 = NULL;
 		}
+#endif
+		if (opt_restart)
+			app_restart();
+		ga->has_fanspeed = false;
+		if (ga->twin) {
+			ga->twin->twin = NULL;;
+			ga->twin = NULL;
+		}
 	}
 	return ret;
 }