From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pl1-f173.google.com (mail-pl1-f173.google.com [209.85.214.173]) (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 D5AC040863A for ; Wed, 10 Jun 2026 13:27:26 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.173 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1781098048; cv=none; b=r8M9LGKWA+uuvFCLRHMj/9KnVkKWA5HwZw9Gs8CyScbnZQLdZqzD0w8KwZu9E2Mo2dk1UOiYgqs05C6X8Drf5joDQsB719W4coQbHmKqXNgAf9QxeGDxMqzPgTRT78hKuzVE34fNZaTkxdPt3A5GUbTCRvsw85tmdZtNWiJ6BL0= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1781098048; c=relaxed/simple; bh=jk8C2srbyo+ZHF3k91WSnemxRv1GlfFtvnpaTGVI680=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=Wp2xwIUuDgP9vwPp0xpr/FoA64JUB6v0SZqlPuO2NC/8OaJTMLRe8RlkEoSDH9fZfZfO40qJxquLy69MJ0w3GG9muKENrb0wC+GuNuVsMKzr7w8Rtp3WgTsiuU1l/H14GXLBav0n3N8LFDc/y19N5GfN1b0nUNF4n4abLKnLsoc= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=roeck-us.net; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=JTNDycE0; arc=none smtp.client-ip=209.85.214.173 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=roeck-us.net 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="JTNDycE0" Received: by mail-pl1-f173.google.com with SMTP id d9443c01a7336-2c0c20f0c0aso52018925ad.0 for ; Wed, 10 Jun 2026 06:27:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1781098046; x=1781702846; darn=vger.kernel.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:sender:from:to:cc:subject:date:message-id :reply-to; bh=auNVEQywJvrbCnmekbg49sDVv3GjAtbK/fCRJB0e8AY=; b=JTNDycE0VLCS+45CS471SoJFkvWUpLB6TPzudVoTRWXt1WauXkRIETpEHwio2X27pW azyEAjjPv2St+L1XSS3Qb4/FQpLIrdZEPBsdUXO3XzClIm6XGDEmSWBmFT/eKP6NnZb6 KQbiAhwHFGbxtbR74SkklFVT0s9DAY+UAjTxTVRxLfoUF1dVlBJ2DcIZzsjy+icogoF8 si7WpnXI5Zn11bubO8GjAh90FocSf/G4kBLhyNo9odAAy3Yw6L9aQeOzXRoz0mHM8t0S 9pAV7uEX43XqY27zeTkPG+eZbPvM5TojUM7F9mCZZsnYmxoqbipCGAcSavsgtB58oZ9l Fl5g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1781098046; x=1781702846; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:sender:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=auNVEQywJvrbCnmekbg49sDVv3GjAtbK/fCRJB0e8AY=; b=bij9srpm5FufPm2ykDYg7bEU8k2fxUlAEosKSfTEB/ZSD2vdPrLRcxtSD/8QW1dPWF 7e4wt5vKzGRKwmT3fC2HPzHKOSDMR/BbHXn/Si+lgUOg1EnvsLfvt0sforRHMfzPqEuY dT77Zoehc5AoZVwtzV7W+6nHc8LLR/D24mdNTCdCminxnJl6ckhvWdIcuJiQ0cDa56VR ZeTUtVC6VcRHKA2xCf/NIY/zOscCSo6GeMnDpYg8WeHq1GUjQWVLlpsXfWdgw/UyeoiM MsmQzNJ0MrPDvo7rBH+LXGecOhiLucdeYbqkSrDqfU5EbKLpMc/KGIC2mHsjmlISiapV C/Pw== X-Forwarded-Encrypted: i=1; AFNElJ/yNBYlZ0ZpIsiiTiJOzV40X5nu8Gdwtl7ccvHofgI6gl1f/hd+RqcRNgqJib1G1jcF5HF0sVecnSlBwGY=@vger.kernel.org X-Gm-Message-State: AOJu0YxJu4oHfmHBboOrEd+jJeQD3h0yx1ymvqgV7lh24o3zg+BBzWbW lbDDpa4fDTNpmRWxVR0LgDncjPQoIUVzhO/m/xaTSoLNeECw9yH0euaY X-Gm-Gg: Acq92OFGixg4GoFeokZ0Oit/D10EqcFJuKMIumCee21cl+jIl8sRy2HD27t+01XSHyT 2kePQHGuVomoz9aq30V/78VFQljF6uOkSxVeL5CxVuYX5wgOOIfvWXzEhO9j0jPQAPyuIdgZ6wv ph2mdz3gbDKQ/5DhiowJmJBVmH+q+d76H66JzQdPKmtLASbC/AyfXtrX/Bm+ayzXXms0u8OApV2 EytszdtXqADj0cAuYzA1I7eZGszat/pfrDBtzw9n1NyiG8WrL/ZnEBXaJQF19zKK1yUWgkinQyM Br3sxFXvBiNTkz7h886ru/o5L9D2raAlonjRzN0cCr0dLCceXs/o1XSn2ekQY22HTfy3GKu59DD V49xPP8Zuk+BW2q+9dHm/5jHIRGkgK7KhshI0D59Nw3rgkIKSI6IlwvbQ05FfAgxW48mX/HKgh/ W9ulPiXr8ralf3tG1cW53cxgSurwQx9OJO1SWjVe2GDm2Y+bhPpBZ2dHpqXg== X-Received: by 2002:a17:903:fad:b0:2b2:ebed:7af5 with SMTP id d9443c01a7336-2c1e7b13addmr281502165ad.13.1781098046034; Wed, 10 Jun 2026 06:27:26 -0700 (PDT) Received: from server.roeck-us.net ([2600:1700:e321:62f0:da43:aeff:fecc:bfd5]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2c164f9f358sm244072125ad.30.2026.06.10.06.27.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 10 Jun 2026 06:27:25 -0700 (PDT) Sender: Guenter Roeck Date: Wed, 10 Jun 2026 06:27:24 -0700 From: Guenter Roeck To: Pei Xiao Cc: linux-hwmon@vger.kernel.org, linux-kernel@vger.kernel.org, cryolitia@uniontech.com Subject: Re: [PATCH] hwmon: (gpd-fan) Reject EC PWM value 0 as invalid Message-ID: <4472e09e-cdf3-478f-8c8a-1d89366b322f@roeck-us.net> References: Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: On Tue, Jun 09, 2026 at 03:41:35PM +0800, Pei Xiao wrote: > The EC firmware is expected to return values in [1, pwm_max]. A read of 0 > is illegal and would cause underflow in the conversion formula. Explicitly > check for 0 and return -EIO. > > Signed-off-by: Pei Xiao > --- > drivers/hwmon/gpd-fan.c | 6 +++++- > 1 file changed, 5 insertions(+), 1 deletion(-) > > diff --git a/drivers/hwmon/gpd-fan.c b/drivers/hwmon/gpd-fan.c > index d1993cd645cb..decb61936b95 100644 > --- a/drivers/hwmon/gpd-fan.c > +++ b/drivers/hwmon/gpd-fan.c > @@ -341,7 +341,11 @@ static int gpd_wm2_read_pwm(struct gpd_fan_data *data) > > gpd_ecram_read(drvdata, drvdata->pwm_write, &var); > > - // Match gpd_generic_write_pwm(u8) below > + /* EC PWM register valid range is 1 ~ pwm_max; 0 is an invalid state */ > + if (unlikely(!var)) > + return -EIO; > + > + /* Match gpd_generic_write_pwm() below */ Please do not change to comment format in an existing driver. This driver uses the C++ comment style. Thanks, Guenter > return DIV_ROUND_CLOSEST((var - 1) * 255, (drvdata->pwm_max - 1)); > } >