Re: [REGRESSION] thermal: per-zone hwmon names break Steam Deck fan control

Armin Wolf <[email protected]> Thu, 30 Jul 2026 18:46:36 +0200
Newsgroups dev.linux.lists.regressions,org.kernel.vger.linux-hwmon,org.kernel.vger.linux-pm,org.kernel.vger.stable
Message-ID <[email protected]>
Am 30.07.26 um 11:33 schrieb Rafael J. Wysocki (Intel):

> Hi,
>
> On Wed, Jul 29, 2026 at 10:50=E2=80=AFPM Matthew Schwartz
> <[email protected]> wrote:
>> Hello,
>>
>> After upgrading my Steam Deck OLED to a 7.2-rc kernel, the userspace fa=
n control daemon that I use stopped working. I bisected the regression to =
d6323469bcfb ("thermal: hwmon: Register a hwmon device for each thermal zo=
ne").
>>
>> Before this commit, the ACPI thermal-zone hwmon name was acpitz, while =
after the change it is now acpitz_0.
>>
>> The device profiles for fan control rely on the exact `acpitz` hwmon na=
ming like the below code snippet:
>>
>> devices:
>>    - hwmon_name: acpitz
>>      nice_name: CPU
>>      max_temp: 90
>>      temp_hysteresis: 0
>>      sensor_name: temp1
>>
>> So now, the profile fails to load with:
>>
>> fancontrol.py[40528]: Warning: hwmons not fully loaded, retrying...
>> fancontrol.py[40528]: Warning: hwmons not fully loaded, retrying...
>> fancontrol.py[40528]: Warning: hwmons not fully loaded, retrying...
>> fancontrol.py[40528]: Traceback (most recent call last):
>> fancontrol.py[40528]:   File "/usr/share/jupiter-fan-control/fancontrol=
.py", line 606, in <module>
>> fancontrol.py[40528]:     raise FileNotFoundError("Failed to load hwmon=
s after 10 attempts.")
>> fancontrol.py[40528]: FileNotFoundError: Failed to load hwmons after 10=
 attempts.
>>
>> Because initialization fails, the daemon never enters its fan-control l=
oop or writes the requested fan target.
>>
>> This change was also backported to Linux 7.1.5 as commit 996957016bc1, =
so the regression is present there as well and has led to a userspace ABI =
regression. I can look at accommodating the change on the userspace side, =
but it still seemed worth reporting as a kernel regression.
>>
>> Thanks,
>> Matt
>>
>> #regzbot introduced: d6323469bcfbda91f0aa89b7b39ad45fe822ca5d
> Thanks for the report!
>
> I think that commit d6323469bcfb will need to be reverted.

Would it be possible to instead make the new behavior depend on a Kconfig =
option?
This way we would give userspace time to adapt to the new behavior. Removi=
ng it completely
would mean that userspace will newer adapt.

Thanks,
Armin Wolf