]> git.ipfire.org Git - thirdparty/kernel/stable.git/blobdiff - kernel/power/hibernate.c
x86/power: Fix 'nosmt' vs hibernation triple fault during resume
[thirdparty/kernel/stable.git] / kernel / power / hibernate.c
index abef759de7c8fb4a8ece278fd7b7730d5b5e41ab..f5ce9f7ec132d3aab21103ec60c9e74ccce60aff 100644 (file)
@@ -258,6 +258,11 @@ void swsusp_show_speed(ktime_t start, ktime_t stop,
                (kps % 1000) / 10);
 }
 
+__weak int arch_resume_nosmt(void)
+{
+       return 0;
+}
+
 /**
  * create_image - Create a hibernation image.
  * @platform_mode: Whether or not to use the platform driver.
@@ -325,6 +330,10 @@ static int create_image(int platform_mode)
  Enable_cpus:
        enable_nonboot_cpus();
 
+       /* Allow architectures to do nosmt-specific post-resume dances */
+       if (!in_suspend)
+               error = arch_resume_nosmt();
+
  Platform_finish:
        platform_finish(platform_mode);