platform/x86: thinkpad_acpi: Fix bitwise vs. logical warning
authorNathan Chancellor <nathan@kernel.org>
Mon, 18 Oct 2021 18:25:37 +0000 (11:25 -0700)
committerHans de Goede <hdegoede@redhat.com>
Tue, 19 Oct 2021 15:18:49 +0000 (17:18 +0200)
A new warning in clang points out a use of bitwise OR with boolean
expressions in this driver:

drivers/platform/x86/thinkpad_acpi.c:9061:11: error: use of bitwise '|' with boolean operands [-Werror,-Wbitwise-instead-of-logical]
        else if ((strlencmp(cmd, "level disengaged") == 0) |
                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                                           ||
drivers/platform/x86/thinkpad_acpi.c:9061:11: note: cast one or both operands to int to silence this warning
1 error generated.

This should clearly be a logical OR so change it to fix the warning.

Fixes: fe98a52ce754 ("ACPI: thinkpad-acpi: add sysfs support to fan subdriver")
Link: https://github.com/ClangBuiltLinux/linux/issues/1476
Reported-by: Tor Vic <torvic9@mailbox.org>
Signed-off-by: Nathan Chancellor <nathan@kernel.org>
Reviewed-by: Nick Desaulniers <ndesaulniers@google.com>
Link: https://lore.kernel.org/r/20211018182537.2316800-1-nathan@kernel.org
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
drivers/platform/x86/thinkpad_acpi.c

index cd5c3a04dba3a7e6eeae02c12ee0176bff9c8678..9c632df734bbf45a7039a8a636138722847f0f32 100644 (file)
@@ -9058,7 +9058,7 @@ static int fan_write_cmd_level(const char *cmd, int *rc)
 
        if (strlencmp(cmd, "level auto") == 0)
                level = TP_EC_FAN_AUTO;
-       else if ((strlencmp(cmd, "level disengaged") == 0) |
+       else if ((strlencmp(cmd, "level disengaged") == 0) ||
                        (strlencmp(cmd, "level full-speed") == 0))
                level = TP_EC_FAN_FULLSPEED;
        else if (sscanf(cmd, "level %d", &level) != 1)