]> git.hungrycats.org Git - linux/commitdiff
platform/x86: sony-laptop: Make resuming thermal profile safer
authorMattia Dongili <malattia@linux.it>
Fri, 8 May 2020 00:14:05 +0000 (09:14 +0900)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 17 Jun 2020 14:42:08 +0000 (16:42 +0200)
commit 476d60b1b4c8a2b14a53ef9b772058f35e604661 upstream.

The thermal handle object may fail initialization when the module is
loaded in the first place. Avoid attempting to use it on resume then.

Fixes: 6d232b29cfce ("ACPICA: Dispatcher: always generate buffer objects for ASL create_field() operator")
Reported-by: Dominik Mierzejewski <dominik@greysector.net>
Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=207491
Signed-off-by: Mattia Dongili <malattia@linux.it>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/platform/x86/sony-laptop.c

index 88faad521e073e1b8d34ca287d0f3671a6165a13..32fa60feaadbc8927e9827f14b1c4acfbe51347c 100644 (file)
@@ -2288,7 +2288,12 @@ static void sony_nc_thermal_cleanup(struct platform_device *pd)
 #ifdef CONFIG_PM_SLEEP
 static void sony_nc_thermal_resume(void)
 {
-       unsigned int status = sony_nc_thermal_mode_get();
+       int status;
+
+       if (!th_handle)
+               return;
+
+       status = sony_nc_thermal_mode_get();
 
        if (status != th_handle->mode)
                sony_nc_thermal_mode_set(th_handle->mode);