Received: by 2002:ac2:464d:0:0:0:0:0 with SMTP id s13csp3684255lfo; Mon, 23 May 2022 11:20:58 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxIAeTgMmNODDMwGmIbUjh2fegtngZ84PXz7SYHp0W79il5AgKYaMMV/vQ6p+qJslLpzhnM X-Received: by 2002:a17:90b:4f48:b0:1df:e20c:cbc1 with SMTP id pj8-20020a17090b4f4800b001dfe20ccbc1mr285223pjb.3.1653330058573; Mon, 23 May 2022 11:20:58 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1653330058; cv=none; d=google.com; s=arc-20160816; b=RFmK6wXq6Sw0OOWDerQqyU3JV87UWOPXgB0Mh5wpg4SedHbW8vXrWdLBvHwqlLKrTh sc6c2MtjReY5mcS3arGaxuZyVlpkszfSXFvpY+LE+bRnB6wlpNDxJlKqDt3USxcy0Gn3 LTH/hx1AmorksmJX8wiBkSugXxKFlowkSeqoX2F640A7yG6XegsP5FRcHae2lyIIKJ6Y tSoRwI0O6F5yoCLU9PjnMQMzvLsRU+pqPuLAWalq0nC0+ut4+uaOA3cqFJyfDCNudqWr L6QW/BY8lxZEdW0p254p/ECEBtzCHuUGWEZdijeMJWhD+7z27T4+AqHnmC3ver6ReaCp P0UA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=bvD1rXHdablz5rJLBhW5GbUVkLOci+942Js4w1jkiyg=; b=zGJixgs21txGYOiEExwi08QuebOmH2WzlwVvtol9WgYMwQ9O63fNysnmB3d5EnAbwL VCiMSA5zFEo3Di/in2eMawxiiqQwhFMLA7qF6axPcU/VrUXRLRL5LG84q6m6d9QCEJVp mfQns4GfB4VUL7Cmo2f0+a9TzfX3O8LZ5JYkZyoyvyrlQg1iCoEp/S+o3z1xGhshcIN+ eJoeJf15t79WUYrr/8BozJeTZ1t/UuI8hSA3smjBFZG155D+7K5tf8NQ6cp6WBb1c7SF BxYGLVNbtepTqiMpzAEOQGmDJ0KzRX6Ou+x5rJW057qN8nzd0yutjbV877hKBIXGiE7k EWjg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=nXbY7+Ps; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Return-Path: Received: from lindbergh.monkeyblade.net (lindbergh.monkeyblade.net. [2620:137:e000::1:18]) by mx.google.com with ESMTPS id v20-20020a63f214000000b003c1b4b647e6si10821879pgh.736.2022.05.23.11.20.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 23 May 2022 11:20:58 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) client-ip=2620:137:e000::1:18; Authentication-Results: mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=nXbY7+Ps; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: from out1.vger.email (out1.vger.email [IPv6:2620:137:e000::1:20]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 57D5317D3AA; Mon, 23 May 2022 11:20:36 -0700 (PDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S243632AbiEWSK2 (ORCPT + 99 others); Mon, 23 May 2022 14:10:28 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:37232 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S243118AbiEWRhy (ORCPT ); Mon, 23 May 2022 13:37:54 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [IPv6:2604:1380:4641:c500::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id AD4095D650; Mon, 23 May 2022 10:32:04 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id E5E6761245; Mon, 23 May 2022 17:30:53 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id E013AC385AA; Mon, 23 May 2022 17:30:52 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1653327053; bh=ylNL2KoBbgg1rlNKg/jmvhK/PANiXZGeYbNkevaViIQ=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=nXbY7+Ps4rPWsVhgj7VPGmOwoUqtqCmVvF5Dkn7RxQ+NuiF4RNZU2LoUluPd4oGLv udzDu4ZlW2sHcWASHugfhGFzFsDUD+2GnXSUORTuoMQYCFe4yaE3Bn1xpmNHSSw6pm ymgK4zdScvYIkfv9pIZ8y+XHXSlxAR2LZOzM8sso= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Mark Pearson , Hans de Goede , Sasha Levin Subject: [PATCH 5.17 142/158] platform/x86: thinkpad_acpi: Correct dual fan probe Date: Mon, 23 May 2022 19:04:59 +0200 Message-Id: <20220523165853.830772851@linuxfoundation.org> X-Mailer: git-send-email 2.36.1 In-Reply-To: <20220523165830.581652127@linuxfoundation.org> References: <20220523165830.581652127@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-2.6 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RDNS_NONE,SPF_HELO_NONE,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Mark Pearson [ Upstream commit aa2fef6f40e6ccc22e932b36898f260f0e5a021a ] There was an issue with the dual fan probe whereby the probe was failing as it assuming that second_fan support was not available. Corrected the logic so the probe works correctly. Cleaned up so quirks only used if 2nd fan not detected. Tested on X1 Carbon 10 (2 fans), X1 Carbon 9 (2 fans) and T490 (1 fan) Signed-off-by: Mark Pearson Link: https://lore.kernel.org/r/20220502191200.63470-1-markpearson@lenovo.com Reviewed-by: Hans de Goede Signed-off-by: Hans de Goede Signed-off-by: Sasha Levin --- drivers/platform/x86/thinkpad_acpi.c | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/drivers/platform/x86/thinkpad_acpi.c b/drivers/platform/x86/thinkpad_acpi.c index c43586f1cb4b..0ea71416d292 100644 --- a/drivers/platform/x86/thinkpad_acpi.c +++ b/drivers/platform/x86/thinkpad_acpi.c @@ -8766,24 +8766,27 @@ static int __init fan_init(struct ibm_init_struct *iibm) fan_status_access_mode = TPACPI_FAN_RD_TPEC; if (quirks & TPACPI_FAN_Q1) fan_quirk1_setup(); - if (quirks & TPACPI_FAN_2FAN) { - tp_features.second_fan = 1; - pr_info("secondary fan support enabled\n"); - } - if (quirks & TPACPI_FAN_2CTL) { - tp_features.second_fan = 1; - tp_features.second_fan_ctl = 1; - pr_info("secondary fan control enabled\n"); - } /* 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) { /* It responded - so let's assume it's there */ tp_features.second_fan = 1; tp_features.second_fan_ctl = 1; pr_info("secondary fan control detected & enabled\n"); + } else { + /* Fan not auto-detected */ + tp_features.second_fan = 0; + if (quirks & TPACPI_FAN_2FAN) { + tp_features.second_fan = 1; + pr_info("secondary fan support enabled\n"); + } + if (quirks & TPACPI_FAN_2CTL) { + tp_features.second_fan = 1; + tp_features.second_fan_ctl = 1; + pr_info("secondary fan control enabled\n"); + } } - } else { pr_err("ThinkPad ACPI EC access misbehaving, fan status and control unavailable\n"); return -ENODEV; -- 2.35.1