lkml.org 
[lkml]   [2021]   [Nov]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.14 445/849] platform/x86: thinkpad_acpi: Fix bitwise vs. logical warning
    Date
    From: Nathan Chancellor <nathan@kernel.org>

    [ Upstream commit fd96e35ea7b95f1e216277805be89d66e4ae962d ]

    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>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/platform/x86/thinkpad_acpi.c | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)

    diff --git a/drivers/platform/x86/thinkpad_acpi.c b/drivers/platform/x86/thinkpad_acpi.c
    index 50ff04c84650c..27595aba214d9 100644
    --- a/drivers/platform/x86/thinkpad_acpi.c
    +++ b/drivers/platform/x86/thinkpad_acpi.c
    @@ -9145,7 +9145,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)
    --
    2.33.0


    \
     
     \ /
      Last update: 2021-11-16 00:03    [W:5.047 / U:0.116 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site