From 18422fbf7dfcc92358b6438d261e7fd2d9fa6a15 Mon Sep 17 00:00:00 2001 From: Con Kolivas Date: Tue, 2 Jul 2013 16:07:32 +1000 Subject: [PATCH] Only throttle avalon clockspeed in avalon_auto in non optimal temperature settings if the fanspeed has reached maximum. --- driver-avalon.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/driver-avalon.c b/driver-avalon.c index 227072dd..398920d3 100644 --- a/driver-avalon.c +++ b/driver-avalon.c @@ -909,9 +909,12 @@ static void *avalon_send_tasks(void *userdata) if (opt_avalon_auto && info->auto_queued >= AVALON_AUTO_CYCLE) { mutex_lock(&info->lock); if (!info->optimal) { - applog(LOG_WARNING, "AVA%i: Above optimal temperature, throttling", - avalon->device_id); - avalon_dec_freq(info); + if (info->fan_pwm >= opt_avalon_fan_max) { + applog(LOG_WARNING, + "AVA%i: Above optimal temperature, throttling", + avalon->device_id); + avalon_dec_freq(info); + } } else if (info->auto_nonces >= (AVALON_AUTO_CYCLE * 19 / 20) && info->auto_nonces <= (AVALON_AUTO_CYCLE * 21 / 20)) { int total = info->auto_nonces + info->auto_hw;