Package: thermald / 1.8.0-1

Metadata

Package Version Patches format
thermald 1.8.0-1 3.0 (quilt)

Patch series

view the series file
Patch File delta Description
0002 Don t keep on reading a sensor if the temperature is.patch | (download)

src/thd_sensor.cpp | 24 17 + 7 - 0 !
src/thd_sensor.h | 1 1 + 0 - 0 !
2 files changed, 18 insertions(+), 7 deletions(-)

 [patch] don't keep on reading a sensor if the temperature is unreadable (lp: #1764320)
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 8bit

BugLink: https://bugs.launchpad.net/ubuntu/+source/thermald/+bug/1764320

Some broken thermal zone drivers may have broken temp interfaces
that cannot be read. If these occur, don't keep on reading this
and but instead log that it is unreadable and defaulting to zero
just one and don't spam the log any further with messages.

Don't disable the sensor as it has may have valuable interfaces
that can be used to adjust passive cooling.

Signed-off-by: Colin Ian King <colin.king@canonical.com>

0003 thermald fix uninitialised member.patch | (download)

src/thd_sensor.cpp | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

 bug#896132: thermald uninitialised member causes loss of temperature control

Package: thermald
Version: 1.7.0-5
Severity: critical
Tags: patch
Justification: breaks the whole system

Dear Maintainer,

0002-Don-t-keep-on-reading-a-sensor-if-the-temperature-is.patch, added in
1.7.0-5,
introduces a new cthd_sensor data member temp_unreadable but fails to
initialise it.
This causes nondeterministic behaviour. If any bits of the uninitialised
boolean are
nonzero, it will be evaluate to true, and the sensor will be silently disabled,
causing loss of temperature control.

This bug is critical because loss of temperature control risks physical
hardware damage.

Attached patch initialises temp_unreadable to restore temperature control.

Kind regards,
Ben.


0004 Remove processing when trip was not activates.patch | (download)

src/thd_trip_point.cpp | 3 1 + 2 - 0 !
1 file changed, 1 insertion(+), 2 deletions(-)

 [patch] remove processing when trip was not activates
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 8bit

When trip was not activated, don't poll cooling device status. This
will save some CPU cycles.

0005 fix cdev state error while trip point is off.patch | (download)

src/thd_cdev.cpp | 2 2 + 0 - 0 !
1 file changed, 2 insertions(+)

 [patch] fix cdev state error while trip point is off
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 8bit

When the trip point is off, it will call thd_cdev_set_state(state=0)
to update cdev state.

if zone_trip_limits.size() == 0, it means all trip points using this cdev
are off. It needs to set this cdev to min state (target_state_valid = 0).

Signed-off-by: Bin Yang <bin.yang@intel.com>

0006 Use correct format specifier for size_t.patch | (download)

src/thd_zone.cpp | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

 [patch] use correct format specifier for size_t
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 8bit

%zu instead of %lu, otherwise on 32 bit:

| ../git/src/thd_zone.cpp: In member function 'void cthd_zone::sort_and_update_poll_trip()':
| ../git/src/thd_zone.cpp:106:16: error: format '%lu' expects argument of type 'long unsigned int', but argument 4 has type 'std::vector<cthd_trip_point>::size_type' {aka 'unsigned int'} [-Werror=format=]
|   thd_log_debug("sort_and_update_poll_trip: trip_points_size =%lu\n",
|                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|     trip_points.size());

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>