Browse Source

Merge branch 'bfgminer-2.8.x' (early part) into bfgminer-2.9.x

Luke Dashjr 13 years ago
parent
commit
3f626918a5
4 changed files with 13 additions and 3 deletions
  1. 2 0
      driver-modminer.c
  2. 3 1
      driver-opencl.c
  3. 7 1
      libztex.c
  4. 1 1
      miner.c

+ 2 - 0
driver-modminer.c

@@ -305,6 +305,8 @@ modminer_change_clock(struct thr_info*thr, bool needlock, signed char delta)
 
 	if (buf[0])
 		state->dclk.freqM = clk / 2;
+	else
+		return false;
 
 	return true;
 }

+ 3 - 1
driver-opencl.c

@@ -213,7 +213,9 @@ CL_API_ENTRY cl_int CL_API_CALL
 
 static bool
 load_opencl_symbols() {
-#ifndef WIN32
+#if defined(__APPLE__)
+	void *cl = dlopen("/System/Library/Frameworks/OpenCL.framework/Versions/Current/OpenCL", RTLD_LAZY);
+#elif !defined(WIN32)
 	void *cl = dlopen("libOpenCL.so", RTLD_LAZY);
 #else
 	HMODULE cl = LoadLibrary("OpenCL.dll");

+ 7 - 1
libztex.c

@@ -150,12 +150,17 @@ static int libztex_configureFpgaHS(struct libztex_device *ztex, const char* firm
 		return cnt;
 	}
 
-	libusb_claim_interface(ztex->hndl, settings[1]);
+	err = libusb_claim_interface(ztex->hndl, settings[1]);
+	if (err != LIBUSB_SUCCESS) {
+		applog(LOG_ERR, "%s: failed to claim interface for hs transfer", ztex->repr);
+		return -4;
+	}
 
 	for (tries = 3; tries > 0; tries--) {
 		fp = open_bitstream("ztex", firmware);
 		if (!fp) {
 			applog(LOG_ERR, "%s: failed to read bitstream '%s'", ztex->repr, firmware);
+			libusb_release_interface(ztex->hndl, settings[1]);
 			return -2;
 		}
 
@@ -216,6 +221,7 @@ static int libztex_configureFpgaHS(struct libztex_device *ztex, const char* firm
 		libztex_getFpgaState(ztex, &state);
 		if (!state.fpgaConfigured) {
 			applog(LOG_ERR, "%s: HS FPGA configuration failed: DONE pin does not go high", ztex->repr);
+			libusb_release_interface(ztex->hndl, settings[1]);
 			return -3;
 		}
 

+ 1 - 1
miner.c

@@ -7939,7 +7939,7 @@ int main(int argc, char *argv[])
 				applog(LOG_ERR, "Press any key to exit, or BFGMiner will try again in 15s.");
 				if (getch() != ERR)
 					quit(0, "No servers could be used! Exiting.");
-				nocbreak();
+				cbreak();
 			} else
 #endif
 				quit(0, "No servers could be used! Exiting.");