From: Mattia Dongili <malat...@linux.it>

[ Upstream commit 476d60b1b4c8a2b14a53ef9b772058f35e604661 ]

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 <domi...@greysector.net>
Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=207491
Signed-off-by: Mattia Dongili <malat...@linux.it>
Signed-off-by: Andy Shevchenko <andriy.shevche...@linux.intel.com>
Signed-off-by: Sasha Levin <sas...@kernel.org>
---
 drivers/platform/x86/sony-laptop.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/drivers/platform/x86/sony-laptop.c 
b/drivers/platform/x86/sony-laptop.c
index 51309f7ceede..e4ef3dc3bc2f 100644
--- a/drivers/platform/x86/sony-laptop.c
+++ b/drivers/platform/x86/sony-laptop.c
@@ -2295,7 +2295,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);
-- 
2.25.1

Reply via email to