diff options
author | Jelle van der Waa <jvanderwaa@redhat.com> | 2022-10-19 21:47:51 +0200 |
---|---|---|
committer | Hans de Goede <hdegoede@redhat.com> | 2022-10-24 11:24:08 +0200 |
commit | a10d50983f7befe85acf95ea7dbf6ba9187c2d70 (patch) | |
tree | 868e4782b7be6032d7616dac87abfb1aaf6b7349 /drivers | |
parent | 36abde8d24ad740371422a7678ca92b06cc8a3d5 (diff) | |
download | linux-stable-a10d50983f7befe85acf95ea7dbf6ba9187c2d70.tar.gz linux-stable-a10d50983f7befe85acf95ea7dbf6ba9187c2d70.tar.bz2 linux-stable-a10d50983f7befe85acf95ea7dbf6ba9187c2d70.zip |
platform/x86: thinkpad_acpi: Fix reporting a non present second fan on some models
thinkpad_acpi was reporting 2 fans on a ThinkPad T14s gen 1, even though
the laptop has only 1 fan.
The second, not present fan always reads 65535 (-1 in 16 bit signed),
ignore fans which report 65535 to avoid reporting the non present fan.
Signed-off-by: Jelle van der Waa <jvanderwaa@redhat.com>
Link: https://lore.kernel.org/r/20221019194751.5392-1-jvanderwaa@redhat.com
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/platform/x86/thinkpad_acpi.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/platform/x86/thinkpad_acpi.c b/drivers/platform/x86/thinkpad_acpi.c index 6a823b850a77..20e5c043a8e8 100644 --- a/drivers/platform/x86/thinkpad_acpi.c +++ b/drivers/platform/x86/thinkpad_acpi.c @@ -263,6 +263,8 @@ enum tpacpi_hkey_event_t { #define TPACPI_DBG_BRGHT 0x0020 #define TPACPI_DBG_MIXER 0x0040 +#define FAN_NOT_PRESENT 65535 + #define strlencmp(a, b) (strncmp((a), (b), strlen(b))) @@ -8876,7 +8878,7 @@ static int __init fan_init(struct ibm_init_struct *iibm) /* Try and probe the 2nd fan */ tp_features.second_fan = 1; /* needed for get_speed to work */ res = fan2_get_speed(&speed); - if (res >= 0) { + if (res >= 0 && speed != FAN_NOT_PRESENT) { /* It responded - so let's assume it's there */ tp_features.second_fan = 1; tp_features.second_fan_ctl = 1; |