diff --git a/src/oclHashcat.c b/src/oclHashcat.c index ec9fa8c0e..c23d9c8b1 100644 --- a/src/oclHashcat.c +++ b/src/oclHashcat.c @@ -4348,7 +4348,9 @@ static void *thread_calc_stdin (void *p) if (device_param->skipped) return NULL; - if ((device_param->kernel_accel == 0) && (device_param->kernel_loops == 0)) + const bool run_autotune = ((device_param->kernel_accel == 0) && (device_param->kernel_loops == 0)); + + if (run_autotune) { autotune (device_param); } @@ -4558,6 +4560,12 @@ static void *thread_calc_stdin (void *p) } } + if (run_autotune) + { + device_param->kernel_accel = 0; + device_param->kernel_loops = 0; + } + return NULL; } @@ -4567,7 +4575,9 @@ static void *thread_calc (void *p) if (device_param->skipped) return NULL; - if ((device_param->kernel_accel == 0) && (device_param->kernel_loops == 0)) + const bool run_autotune = ((device_param->kernel_accel == 0) && (device_param->kernel_loops == 0)); + + if (run_autotune) { autotune (device_param); } @@ -4932,6 +4942,12 @@ static void *thread_calc (void *p) fclose (fd); } + if (run_autotune) + { + device_param->kernel_accel = 0; + device_param->kernel_loops = 0; + } + return NULL; }