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>
This commit is contained in:
Родитель
36abde8d24
Коммит
a10d50983f
|
@ -263,6 +263,8 @@ enum tpacpi_hkey_event_t {
|
||||||
#define TPACPI_DBG_BRGHT 0x0020
|
#define TPACPI_DBG_BRGHT 0x0020
|
||||||
#define TPACPI_DBG_MIXER 0x0040
|
#define TPACPI_DBG_MIXER 0x0040
|
||||||
|
|
||||||
|
#define FAN_NOT_PRESENT 65535
|
||||||
|
|
||||||
#define strlencmp(a, b) (strncmp((a), (b), strlen(b)))
|
#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 */
|
/* Try and probe the 2nd fan */
|
||||||
tp_features.second_fan = 1; /* needed for get_speed to work */
|
tp_features.second_fan = 1; /* needed for get_speed to work */
|
||||||
res = fan2_get_speed(&speed);
|
res = fan2_get_speed(&speed);
|
||||||
if (res >= 0) {
|
if (res >= 0 && speed != FAN_NOT_PRESENT) {
|
||||||
/* It responded - so let's assume it's there */
|
/* It responded - so let's assume it's there */
|
||||||
tp_features.second_fan = 1;
|
tp_features.second_fan = 1;
|
||||||
tp_features.second_fan_ctl = 1;
|
tp_features.second_fan_ctl = 1;
|
||||||
|
|
Загрузка…
Ссылка в новой задаче