From nobody Tue Apr 7 12:46:33 2026 Received: from mail-wm1-f42.google.com (mail-wm1-f42.google.com [209.85.128.42]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A51D82D73B8 for ; Sun, 5 Apr 2026 14:45:15 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.42 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775400317; cv=none; b=WoVyrJcNhr6SyTRp+FiMgOrwrk/XT9fIL/GnRp2iM3qaxEnq/W7Oe2Y1/MO4RVupPAyI6eXXT9+0ftlwmCCCOAem5squl9KHe45EDIMxDKfL63UU1YR5ctMWERPvotLR4rXAbhwoDETDeMQ7KSzGyb5Z9TIDuzDPK4FGZTAaEAU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775400317; c=relaxed/simple; bh=44Okvn52N6xqTGEytJH/Z5j9cTiQ194ocVa3p4+mz6A=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=PbdnnBo4T86/JQFr/zjbFmXe+SJEIwVDR02cf1SP95Ngmubw5IkDg2gUuqZ8NyotxF2icmckpLnGnzUNUGFs/5Hz/GV5VSBWlL+AoFyKQzRUdyMHw0RDgQR7s8kLXqLX5lS9D4T6pxDpGYjMxr/j/2mr8A7evM1JMyk8vIT6asA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=LJH55jzW; arc=none smtp.client-ip=209.85.128.42 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="LJH55jzW" Received: by mail-wm1-f42.google.com with SMTP id 5b1f17b1804b1-4836cd6e0d4so4590045e9.3 for ; Sun, 05 Apr 2026 07:45:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1775400314; x=1776005114; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=stAMSWyB4mZAS8H9YKj1ITgLlFTm/EJVMUZqWjHkvfo=; b=LJH55jzWfzBvquZInislSJH0UIqq++kNB9MUbdytZy0BladaiuoM0N0T1Oo9T51Aeb EX3328wO0sNdtoEnOx+ejM5tAB3HZI3ZRXxgMTyXJtI0JZlVO574WC4tZOfgNgMacqeh PgDZ2qipo1BW1tXu4ywUA1Za7JrZY8Bt7n6liKvE+BCUN6/irCZKDPmQwjg7jJvnhP21 WbTYIyPRA3BjhmFi0U9vXhopAdHjgzoVm5BSRMLkdLLey72IqALx37Lhe4jBqoVktrdR mzZlMXTFm9p4nQWElSxk1xfZ2uNgwC4RZynx/LDEfRLTG5JmdmBnhEAPw8A9kcp4g02v Z58Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775400314; x=1776005114; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=stAMSWyB4mZAS8H9YKj1ITgLlFTm/EJVMUZqWjHkvfo=; b=KKtrpUggxMZxuVh3zKz0nJXLupnkglPI/IxKLPWt3F0+DlKb3tOuHxIvBuCC9RZV65 3WdZSLyco16lxpNqhGw8DYyOhxJoI/wuJhqAyzZzsmnCx7/zI8vLyTJiWhM4Se3Pbv38 pnpfLrWk4TllPas0LPO9/4+MmUrGrD2qPc8lAkc9vnk0m78ZqBgvK4ot7aynT1lzO2N7 Nxy+zx0ZiJqmETwmbyJkY/vIspV2FElJvalT0IvToEuSd+8iEwDIewvF/5Lz9l+IztYb NQfQF3Atwr9XCd1wjJEZewKn3u0LKIk3rkuCy1z+gx4unUdsZr6IfvOqTjdsWnxmrcGX z8yw== X-Forwarded-Encrypted: i=1; AJvYcCU0MYu+myasHNTCNmsNt2nVATyhR64iTpJ+HtdLJuCeUJpGxTYc3ztPPWq6EgD9Voo0rOpzyNNg+QP6TUc=@vger.kernel.org X-Gm-Message-State: AOJu0Yy606LcvMB0F9Z5zljSF5YfoxBttxoik/pHj7sXLQN7MNqTRiVY yvA8k/oE6JyNNIjedQwziyy5vpMIUIKgYqUBMPpp/Gzi/Gd0pb9DVufo X-Gm-Gg: AeBDietUW3C3SnsPSVIF7WbKR+1C0BfDE0Fem1mXyi04mBgg+nmrg9L8waerSu1vFr/ XPRGM3K4QAmB9q9eb5Ze51goJ2v6umhhO5D/IPrOdCrl7P5hEMRJHYgopKjO4ccntq2UPRxzzFB j+CUzD+7WnFTlqcj4B9jhofTMCk9RVHINiq3vMjOUZ+kpe6cWyFKACOFnnIMp2k58K4jRuRINmp Sxokyus6yhOnoD+QG/DGQKI2XNs4ZLlICWTuxRzm0ppd0vOjDhImyZxxz2afUIzbqRP9rUY0rHO AMjCdJqpfBJQTSZwFsKrOAo+hnG9WE3tCz27yjZkLaX+EUsS/gPKTFKIQsk/i6WWuH/kWHolC0y kFN5Su1MR+1r7Zou0QSQMNLGgamPeT1LF+b214/4Il3XLHlCIX27QX3NSfXekxJi3U0c6abm+px T1VytWjGZkd+TqRNrF79z0f4qR7D3jPzu+2Zr7bIN1BcZ4QY95NTs0HuTUB1g= X-Received: by 2002:a05:600c:1f8f:b0:485:f1d6:2b1d with SMTP id 5b1f17b1804b1-488995d1535mr75603005e9.0.1775400313974; Sun, 05 Apr 2026 07:45:13 -0700 (PDT) Received: from fridge.local ([2a00:1d35:c836:5700:77d9:f36f:3748:d642]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-43d1e4f1a99sm35698799f8f.32.2026.04.05.07.45.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 05 Apr 2026 07:45:13 -0700 (PDT) From: Emre Cecanpunar To: platform-driver-x86@vger.kernel.org Cc: hansg@kernel.org, ilpo.jarvinen@linux.intel.com, linux-kernel@vger.kernel.org, krishna.chomal108@gmail.com, edip@medip.dev, emreleno@gmail.com Subject: [PATCH v3 1/5] platform/x86: hp-wmi: fix ignored return values in fan settings Date: Sun, 5 Apr 2026 17:44:56 +0300 Message-ID: <20260405144502.24944-2-emreleno@gmail.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260405144502.24944-1-emreleno@gmail.com> References: <20260405144502.24944-1-emreleno@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" hp_wmi_get_fan_count_userdefine_trigger() can fail, but its return value was silently ignored in hp_wmi_apply_fan_settings() for PWM_MODE_MAX/AUTO. Propagate these errors consistently. Additionally, handle the return value of hp_wmi_apply_fan_settings() in its callers by adding appropriate warnings on failure, and remove an unreachable "return 0" at the end of the function. Fixes: 46be1453e6e6 ("platform/x86: hp-wmi: add manual fan control for Vict= us S models") Signed-off-by: Emre Cecanpunar --- drivers/platform/x86/hp/hp-wmi.c | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/drivers/platform/x86/hp/hp-wmi.c b/drivers/platform/x86/hp/hp-= wmi.c index 988a0acc9622..eac39f68d762 100644 --- a/drivers/platform/x86/hp/hp-wmi.c +++ b/drivers/platform/x86/hp/hp-wmi.c @@ -2353,8 +2353,11 @@ static int hp_wmi_apply_fan_settings(struct hp_wmi_h= wmon_priv *priv) =20 switch (priv->mode) { case PWM_MODE_MAX: - if (is_victus_s_thermal_profile()) - hp_wmi_get_fan_count_userdefine_trigger(); + if (is_victus_s_thermal_profile()) { + ret =3D hp_wmi_get_fan_count_userdefine_trigger(); + if (ret < 0) + return ret; + } ret =3D hp_wmi_fan_speed_max_set(1); if (ret < 0) return ret; @@ -2372,7 +2375,9 @@ static int hp_wmi_apply_fan_settings(struct hp_wmi_hw= mon_priv *priv) return 0; case PWM_MODE_AUTO: if (is_victus_s_thermal_profile()) { - hp_wmi_get_fan_count_userdefine_trigger(); + ret =3D hp_wmi_get_fan_count_userdefine_trigger(); + if (ret < 0) + return ret; ret =3D hp_wmi_fan_speed_max_reset(priv); } else { ret =3D hp_wmi_fan_speed_max_set(0); @@ -2385,8 +2390,6 @@ static int hp_wmi_apply_fan_settings(struct hp_wmi_hw= mon_priv *priv) /* shouldn't happen */ return -EINVAL; } - - return 0; } =20 static umode_t hp_wmi_hwmon_is_visible(const void *data, @@ -2528,6 +2531,7 @@ static void hp_wmi_hwmon_keep_alive_handler(struct wo= rk_struct *work) { struct delayed_work *dwork; struct hp_wmi_hwmon_priv *priv; + int ret; =20 dwork =3D to_delayed_work(work); priv =3D container_of(dwork, struct hp_wmi_hwmon_priv, keep_alive_dwork); @@ -2535,7 +2539,10 @@ static void hp_wmi_hwmon_keep_alive_handler(struct w= ork_struct *work) * Re-apply the current hwmon context settings. * NOTE: hp_wmi_apply_fan_settings will handle the re-scheduling. */ - hp_wmi_apply_fan_settings(priv); + ret =3D hp_wmi_apply_fan_settings(priv); + if (ret) + pr_warn_ratelimited("keep-alive failed to refresh fan settings: %d\n", + ret); } =20 static int hp_wmi_setup_fan_settings(struct hp_wmi_hwmon_priv *priv) @@ -2597,7 +2604,9 @@ static int hp_wmi_hwmon_init(void) =20 INIT_DELAYED_WORK(&priv->keep_alive_dwork, hp_wmi_hwmon_keep_alive_handle= r); platform_set_drvdata(hp_wmi_platform_dev, priv); - hp_wmi_apply_fan_settings(priv); + ret =3D hp_wmi_apply_fan_settings(priv); + if (ret) + dev_warn(dev, "Failed to apply initial fan settings: %d\n", ret); =20 return 0; } --=20 2.53.0