Clamp initial GPU fanspeed to within user specified range.
diff --git a/adl.c b/adl.c
index 1c650e5..65ca29d 100644
--- a/adl.c
+++ b/adl.c
@@ -493,9 +493,15 @@ void init_adl(int nDevs)
if (!gpus[gpu].cutofftemp)
gpus[gpu].cutofftemp = opt_cutofftemp;
if (opt_autofan) {
- ga->autofan = true;
/* Set a safe starting default if we're automanaging fan speeds */
- set_fanspeed(gpu, 50);
+ int nominal = 50;
+
+ ga->autofan = true;
+ /* Clamp fanspeed values to range provided */
+ if (nominal > gpus[gpu].gpu_fan)
+ nominal = gpus[gpu].gpu_fan;
+ if (nominal < gpus[gpu].min_fan)
+ nominal = gpus[gpu].min_fan;
}
if (opt_autoengine) {
ga->autoengine = true;