]> git.proxmox.com Git - mirror_ubuntu-kernels.git/commitdiff
platform/x86: thinkpad_acpi: Fix lkp-tests warnings for platform profiles
authorMark Pearson <mpearson-lenovo@squebb.ca>
Tue, 6 Jun 2023 15:18:04 +0000 (11:18 -0400)
committerRoxana Nicolescu <roxana.nicolescu@canonical.com>
Mon, 2 Oct 2023 15:19:49 +0000 (17:19 +0200)
BugLink: https://bugs.launchpad.net/bugs/2034469
[ Upstream commit f999e23ce66c1555d7b653fba171a88ecee53704 ]

Fix issues identified in dytc_profile_refresh identified by lkp-tests.
drivers/platform/x86/thinkpad_acpi.c:10538
dytc_profile_refresh() error: uninitialized symbol 'funcmode'.
drivers/platform/x86/thinkpad_acpi.c:10531
dytc_profile_refresh() error: uninitialized symbol 'output'.
drivers/platform/x86/thinkpad_acpi.c:10537
dytc_profile_refresh() error: uninitialized symbol 'output'.

These issues should not lead to real problems in the field as the refresh
function should only be called if MMC or PSC mode enabled. But good to fix.

Thanks to Dan Carpenter and the lkp-tests project for flagging these.

Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <error27@gmail.com>
Closes: https://lore.kernel.org/r/202306011202.1hbgLRD4-lkp@intel.com/
Fixes: 1bc5d819f0b9 ("platform/x86: thinkpad_acpi: Fix profile modes on Intel platforms")
Signed-off-by: Mark Pearson <mpearson-lenovo@squebb.ca>
Link: https://lore.kernel.org/r/20230606151804.8819-1-mpearson-lenovo@squebb.ca
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>
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
Signed-off-by: Stefan Bader <stefan.bader@canonical.com>
drivers/platform/x86/thinkpad_acpi.c

index e40cbe81b12c1fb346ac0b00c0bb9c3dc6b54448..97c6ec12d082912bc3a02d895356697b8201e164 100644 (file)
@@ -10524,8 +10524,8 @@ unlock:
 static void dytc_profile_refresh(void)
 {
        enum platform_profile_option profile;
-       int output, err = 0;
-       int perfmode, funcmode;
+       int output = 0, err = 0;
+       int perfmode, funcmode = 0;
 
        mutex_lock(&dytc_mutex);
        if (dytc_capabilities & BIT(DYTC_FC_MMC)) {
@@ -10538,6 +10538,8 @@ static void dytc_profile_refresh(void)
                err = dytc_command(DYTC_CMD_GET, &output);
                /* Check if we are PSC mode, or have AMT enabled */
                funcmode = (output >> DYTC_GET_FUNCTION_BIT) & 0xF;
+       } else { /* Unknown profile mode */
+               err = -ENODEV;
        }
        mutex_unlock(&dytc_mutex);
        if (err)