diff mbox series

[1/1] hwmon: (nct6775) Additional check for ChipID before ASUS WMI usage

Message ID 20211218192616.611878-1-pauk.denis@gmail.com (mailing list archive)
State Superseded
Headers show
Series [1/1] hwmon: (nct6775) Additional check for ChipID before ASUS WMI usage | expand

Commit Message

Denis Pauk Dec. 18, 2021, 7:26 p.m. UTC
WMI monitoring methods can be changed or removed in new ASUS boards
BIOS versions. Such versions return zero instead of a real one as
Chip ID.

Commit adds additional validation for the result of Chip ID call
before enabling access by ASUS WMI methods.

BugLink: https://bugzilla.kernel.org/show_bug.cgi?id=204807
Signed-off-by: Denis Pauk <pauk.denis@gmail.com>
---
 drivers/hwmon/nct6775.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)


base-commit: 2585cf9dfaaddf00b069673f27bb3f8530e2039c

Comments

Guenter Roeck Dec. 18, 2021, 7:35 p.m. UTC | #1
On 12/18/21 11:26 AM, Denis Pauk wrote:
> WMI monitoring methods can be changed or removed in new ASUS boards
> BIOS versions. Such versions return zero instead of a real one as
> Chip ID.
> 
> Commit adds additional validation for the result of Chip ID call
> before enabling access by ASUS WMI methods.
> 
> BugLink: https://bugzilla.kernel.org/show_bug.cgi?id=204807
> Signed-off-by: Denis Pauk <pauk.denis@gmail.com>
> ---
>   drivers/hwmon/nct6775.c | 3 ++-
>   1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/hwmon/nct6775.c b/drivers/hwmon/nct6775.c
> index 57ce8633a725..034347ed51c4 100644
> --- a/drivers/hwmon/nct6775.c
> +++ b/drivers/hwmon/nct6775.c
> @@ -5038,7 +5038,8 @@ static int __init sensors_nct6775_init(void)
>   				   board_name);
>   		if (err >= 0) {
>   			/* if reading chip id via WMI succeeds, use WMI */
> -			if (!nct6775_asuswmi_read(0, NCT6775_PORT_CHIPID, &tmp)) {
> +			if (!nct6775_asuswmi_read(0, NCT6775_PORT_CHIPID, &tmp) &&
> +			    tmp) {

Please drop the continuation line; the above hurts readability, and in that case
up to 100 columns are allowed.

Thanks,
Guenter

>   				pr_info("Using Asus WMI to access %#x chip.\n", tmp);
>   				access = access_asuswmi;
>   			} else {
> 
> base-commit: 2585cf9dfaaddf00b069673f27bb3f8530e2039c
>
diff mbox series

Patch

diff --git a/drivers/hwmon/nct6775.c b/drivers/hwmon/nct6775.c
index 57ce8633a725..034347ed51c4 100644
--- a/drivers/hwmon/nct6775.c
+++ b/drivers/hwmon/nct6775.c
@@ -5038,7 +5038,8 @@  static int __init sensors_nct6775_init(void)
 				   board_name);
 		if (err >= 0) {
 			/* if reading chip id via WMI succeeds, use WMI */
-			if (!nct6775_asuswmi_read(0, NCT6775_PORT_CHIPID, &tmp)) {
+			if (!nct6775_asuswmi_read(0, NCT6775_PORT_CHIPID, &tmp) &&
+			    tmp) {
 				pr_info("Using Asus WMI to access %#x chip.\n", tmp);
 				access = access_asuswmi;
 			} else {