aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/platform
diff options
context:
space:
mode:
authorYurii Pavlovskyi <yurii.pavlovskyi@gmail.com>2019-05-14 21:05:46 +0200
committerAndy Shevchenko <andriy.shevchenko@linux.intel.com>2019-06-17 15:22:47 +0300
commit4fd1982545398bf801fe13455e02bc01b6402de6 (patch)
tree2f753cf008da8c67e8f17edd149c0f58c0897e7f /drivers/platform
parentplatform/x86: asus-wmi: Organize code into sections (diff)
downloadlinux-dev-4fd1982545398bf801fe13455e02bc01b6402de6.tar.xz
linux-dev-4fd1982545398bf801fe13455e02bc01b6402de6.zip
platform/x86: asus-wmi: Enhance detection of thermal data
The obviously wrong value 1 for temperature device ID in this driver is returned by at least some devices, including TUF Gaming series laptops, instead of 0 as expected previously. Observable effect is that a temp1_input in hwmon reads temperature near absolute zero. Consider 0.1 K an erroneous value in addition to 0 K. Signed-off-by: Yurii Pavlovskyi <yurii.pavlovskyi@gmail.com> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Diffstat (limited to 'drivers/platform')
-rw-r--r--drivers/platform/x86/asus-wmi.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/platform/x86/asus-wmi.c b/drivers/platform/x86/asus-wmi.c
index 3a4e61cfa15d..a1d85667383c 100644
--- a/drivers/platform/x86/asus-wmi.c
+++ b/drivers/platform/x86/asus-wmi.c
@@ -1428,8 +1428,11 @@ static umode_t asus_hwmon_sysfs_is_visible(struct kobject *kobj,
else
ok = fan_attr <= asus->asus_hwmon_num_fans;
} else if (dev_id == ASUS_WMI_DEVID_THERMAL_CTRL) {
- /* If value is zero, something is clearly wrong */
- if (!value)
+ /*
+ * If the temperature value in deci-Kelvin is near the absolute
+ * zero temperature, something is clearly wrong
+ */
+ if (value == 0 || value == 1)
ok = false;
} else if (fan_attr <= asus->asus_hwmon_num_fans && fan_attr != -1) {
ok = true;