diff --git a/amdgpu_fan/controller.py b/amdgpu_fan/controller.py index d831880..326db24 100644 --- a/amdgpu_fan/controller.py +++ b/amdgpu_fan/controller.py @@ -32,6 +32,9 @@ def main(self): try: self._main_loop() except KeyboardInterrupt: + for name, card in self._scanner.cards.items(): + logger.debug(f"Setting {name} fan back to kernel controlled.") + card.set_system_controlled_fan(True) logger.info(f'Exiting.') def _main_loop(self): diff --git a/amdgpu_fan/lib/amdgpu.py b/amdgpu_fan/lib/amdgpu.py index d226ad0..fa77b49 100644 --- a/amdgpu_fan/lib/amdgpu.py +++ b/amdgpu_fan/lib/amdgpu.py @@ -70,7 +70,7 @@ def fan_min(self): return int(self.read_endpoint('pwm1_min')) def set_system_controlled_fan(self, state): - self.write_endpoint('pwm1_enable', 0 if state else 1) + self.write_endpoint('pwm1_enable', 2 if state else 1) def set_fan_speed(self, speed): if speed >= 100: