Commit d5fe2cfd7aee2b45c3473c7c3b0341b1cf3aa186

Con Kolivas 2011-09-11T10:48:39

Flag devices that have never started and don't allow enabling of devices without restarting them.

diff --git a/main.c b/main.c
index a8cfc55..c58d23e 100644
--- a/main.c
+++ b/main.c
@@ -3170,6 +3170,9 @@ retry:
 				case LIFE_DEAD:
 					wlog("DEAD reported in %s", checkin);
 					break;
+				case LIFE_NOSTART:
+					wlog("Never started");
+					break;
 			}
 			wlog("\n");
 		}
@@ -3196,6 +3199,11 @@ retry:
 			if (dev_from_id(i) != selected)
 				continue;
 			thr = &thr_info[i];
+			if (thr->cgpu->status != LIFE_WELL) {
+				wlogprint("Must restart device before enabling it");
+				gpu_devices[selected] = false;
+				goto retry;
+			}
 			if (opt_debug)
 				applog(LOG_DEBUG, "Pushing ping to thread %d", thr->id);
 
@@ -5460,6 +5468,7 @@ int main (int argc, char *argv[])
 					free(buf);
 			}
 			gpu_devices[gpu] = false;
+			cgpu->status = LIFE_NOSTART;
 			continue;
 		}
 		applog(LOG_INFO, "initCl() finished. Found %s", name);
diff --git a/miner.h b/miner.h
index 0bd78b4..0567139 100644
--- a/miner.h
+++ b/miner.h
@@ -153,6 +153,7 @@ enum alive {
 	LIFE_WELL,
 	LIFE_SICK,
 	LIFE_DEAD,
+	LIFE_NOSTART
 };
 
 #ifdef HAVE_ADL