Set the avalon idle frequency to lowest if avalon auto is enabled and we have an overheat condition.
diff --git a/driver-avalon.c b/driver-avalon.c
index eee6d3a..f9dec0b 100644
--- a/driver-avalon.c
+++ b/driver-avalon.c
@@ -922,10 +922,14 @@ static void *avalon_send_tasks(void *userdata)
avalon_create_task(&at, avalon->works[i]);
info->auto_queued++;
} else {
+ int idle_freq = info->frequency;
+
idled++;
+ if (unlikely(info->overheat && opt_avalon_auto))
+ idle_freq = AVALON_MIN_FREQUENCY;
avalon_init_task(&at, 0, 0, info->fan_pwm,
info->timeout, info->asic_count,
- info->miner_count, 1, 1, info->frequency);
+ info->miner_count, 1, 1, idle_freq);
/* Reset the auto_queued count if we end up
* idling any miners. */
avalon_reset_auto(info);