Commit a3998e26e8b67704b3d5cf6bd689e506b8a7d49e

Luke Dashjr 2012-07-11T19:43:55

Bugfix: Adapt OpenCL scanhash errors to driver API change (errors are now -1, not 0)

diff --git a/driver-opencl.c b/driver-opencl.c
index 91e43ff..bda4fa8 100644
--- a/driver-opencl.c
+++ b/driver-opencl.c
@@ -1387,7 +1387,7 @@ static int64_t opencl_scanhash(struct thr_info *thr, struct work *work,
 	status = thrdata->queue_kernel_parameters(clState, &work->blk, globalThreads[0]);
 	if (unlikely(status != CL_SUCCESS)) {
 		applog(LOG_ERR, "Error: clSetKernelArg of all params failed.");
-		return 0;
+		return -1;
 	}
 
 	/* MAXBUFFERS entry is used as a flag to say nonces exist */
@@ -1397,7 +1397,7 @@ static int64_t opencl_scanhash(struct thr_info *thr, struct work *work,
 				BUFFERSIZE, blank_res, 0, NULL, NULL);
 		if (unlikely(status != CL_SUCCESS)) {
 			applog(LOG_ERR, "Error: clEnqueueWriteBuffer failed.");
-			return 0;
+			return -1;
 		}
 		if (unlikely(thrdata->last_work)) {
 			applog(LOG_DEBUG, "GPU %d found something in last work?", gpu->device_id);
@@ -1422,14 +1422,14 @@ static int64_t opencl_scanhash(struct thr_info *thr, struct work *work,
 						globalThreads, localThreads, 0,  NULL, NULL);
 	if (unlikely(status != CL_SUCCESS)) {
 		applog(LOG_ERR, "Error: Enqueueing kernel onto command queue. (clEnqueueNDRangeKernel)");
-		return 0;
+		return -1;
 	}
 
 	status = clEnqueueReadBuffer(clState->commandQueue, clState->outputBuffer, CL_FALSE, 0,
 			BUFFERSIZE, thrdata->res, 0, NULL, NULL);
 	if (unlikely(status != CL_SUCCESS)) {
 		applog(LOG_ERR, "Error: clEnqueueReadBuffer failed. (clEnqueueReadBuffer)");
-		return 0;
+		return -1;
 	}
 
 	/* The amount of work scanned can fluctuate when intensity changes