Re: thermal driver patch

From: Daniel Lezcano
Date: Thu Sep 01 2022 - 01:59:51 EST


On 30/08/2022 00:06, Randy Dunlap wrote:
Hi Steven,

[adding Rafael, Daniel, linux-pm]


[ 5.244369] thermal thermal_zone0: failed to read out thermal zone (-61)

Some driver is returning -ENODATA to the thermal core....

Any suggestions?

Could it be related to this bug?

https://bugzilla.kernel.org/show_bug.cgi?id=201761

Is it possible to give the thermal zone 'type'


On 8/29/22 05:20, Steven J Abner wrote:


On Mon, Aug 29, 2022 at 05:47, Randy Dunlap <rdunlap@xxxxxxxxxxxxx> wrote:
a. the exact message(s) [copy-paste]
c. what kernel version is causing the problem

[    0.000000] Linux version 5.18.12-051812-generic (kernel@sita) (gcc (Ubuntu 11.3.0-4ubuntu1) 11.3.0, GNU ld (GNU Binutils for Ubuntu) 2.38.50.20220629) #202207150942 SMP PREEMPT_DYNAMIC Fri Jul 15 10:10:55 UTC 2022
[    5.244369] thermal thermal_zone0: failed to read out thermal zone (-61)

[    0.000000] Linux version 5.4.204-0504204-generic (kernel@kathleen) (gcc version 9.4.0 (Ubuntu 9.4.0-1ubuntu1~20.04.1)) #202207071639 SMP Thu Jul 7 16:59:09 UTC 2022
[    5.207243] thermal thermal_zone0: failed to read out thermal zone (-61)

as to reproduce, can only think of saying: boot up kernel without patched?

additional info that may? help:
I did not trace what calls 'update_temperature', just saw any call to it
will cause message due to it's call to 'thermal_zone_get_temp', which states
no thermal_zone_device should provide or be requesting an update.
It may be that if 'thermal_zone_get_temp' where removed was actual function's
intent, and all instances in this file and other function's use was a case of designer debugging or signaling a deprecated API? That was my intent on saying
'for you to do and review', because it looked like a lot of functions could be
updated to take into account that no device should call functions that start off
by calling 'thermal_zone_get_temp'.
 It is more probable that my patch suggestion is wrong and calls to
'update_temperature' are suppose to fail with return -ENODEV always allowing
other calls to 'update_temperature' to fail also. With proposed code, I've not
seen adverse side effects. It just removed dmesg error, but was hoping I would
get lucky and it was the reason for CPUTIN -62C without actually hard work of
finding real reason.

additional dmesg info:
only other 'thermal' are 'thermal_sys' loading governors
smpboot: CPU0: AMD Ryzen 5 2400G with Radeon Vega Graphics (family: 0x17, model: 0x11, stepping: 0x0)
from lspci:
Kernel driver in use: k10temp
from lsmod:
nct6775
hwmon_vid
these 2 removed in personal configs, but used in the two ubuntu kernel builds:
wmi
wmi_bmof

Steve





--
<http://www.linaro.org/> Linaro.org │ Open source software for ARM SoCs

Follow Linaro: <http://www.facebook.com/pages/Linaro> Facebook |
<http://twitter.com/#!/linaroorg> Twitter |
<http://www.linaro.org/linaro-blog/> Blog