platform/x86: thinkpad_acpi: consistently check fan_get_status return.
authorTom Rix <trix@redhat.com>
Sat, 12 Mar 2022 14:53:27 +0000 (06:53 -0800)
committerHans de Goede <hdegoede@redhat.com>
Thu, 17 Mar 2022 18:47:24 +0000 (19:47 +0100)
Clang static analysis returns this false positive
thinkpad_acpi.c:8926:19: warning: The left operand
  of '!=' is a garbage value
  (status != 0) ? "enabled" : "disabled", status);
   ~~~~~~ ^

The return of fan_get_status* is checked inconsistenly.
Sometime ret < 0 is an error, sometimes !ret.
Both fan_get_status() and fan_get_status_safe() return
0 on success and return negative otherwise.  Change
the checks for error, ret < 0, into checks for
not success, !ret.

Signed-off-by: Tom Rix <trix@redhat.com>
Link: https://lore.kernel.org/r/20220312145327.1398510-1-trix@redhat.com
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
drivers/platform/x86/thinkpad_acpi.c

index c476a78..515a592 100644 (file)
@@ -8285,7 +8285,7 @@ static int fan_set_enable(void)
        case TPACPI_FAN_WR_ACPI_FANS:
        case TPACPI_FAN_WR_TPEC:
                rc = fan_get_status(&s);
-               if (rc < 0)
+               if (rc)
                        break;
 
                /* Don't go out of emergency fan mode */
@@ -8304,7 +8304,7 @@ static int fan_set_enable(void)
 
        case TPACPI_FAN_WR_ACPI_SFAN:
                rc = fan_get_status(&s);
-               if (rc < 0)
+               if (rc)
                        break;
 
                s &= 0x07;
@@ -8843,7 +8843,7 @@ static void fan_suspend(void)
        /* Store fan status in cache */
        fan_control_resume_level = 0;
        rc = fan_get_status_safe(&fan_control_resume_level);
-       if (rc < 0)
+       if (rc)
                pr_notice("failed to read fan level for later restore during resume: %d\n",
                          rc);
 
@@ -8864,7 +8864,7 @@ static void fan_resume(void)
 
        if (!fan_control_allowed ||
            !fan_control_resume_level ||
-           (fan_get_status_safe(&current_level) < 0))
+           fan_get_status_safe(&current_level))
                return;
 
        switch (fan_control_access_mode) {
@@ -8918,7 +8918,7 @@ static int fan_read(struct seq_file *m)
        case TPACPI_FAN_RD_ACPI_GFAN:
                /* 570, 600e/x, 770e, 770x */
                rc = fan_get_status_safe(&status);
-               if (rc < 0)
+               if (rc)
                        return rc;
 
                seq_printf(m, "status:\t\t%s\n"
@@ -8929,7 +8929,7 @@ static int fan_read(struct seq_file *m)
        case TPACPI_FAN_RD_TPEC:
                /* all except 570, 600e/x, 770e, 770x */
                rc = fan_get_status_safe(&status);
-               if (rc < 0)
+               if (rc)
                        return rc;
 
                seq_printf(m, "status:\t\t%s\n",