|
@@ -629,12 +629,8 @@ int hibernate(void)
|
|
|
goto Finish;
|
|
|
|
|
|
error = hibernation_snapshot(hibernation_mode == HIBERNATION_PLATFORM);
|
|
|
- if (error)
|
|
|
- goto Thaw;
|
|
|
- if (freezer_test_done) {
|
|
|
- freezer_test_done = false;
|
|
|
+ if (error || freezer_test_done)
|
|
|
goto Thaw;
|
|
|
- }
|
|
|
|
|
|
if (in_suspend) {
|
|
|
unsigned int flags = 0;
|
|
@@ -659,6 +655,10 @@ int hibernate(void)
|
|
|
|
|
|
Thaw:
|
|
|
thaw_processes();
|
|
|
+
|
|
|
+ /* Don't bother checking whether freezer_test_done is true */
|
|
|
+ freezer_test_done = false;
|
|
|
+
|
|
|
Finish:
|
|
|
free_basic_memory_bitmaps();
|
|
|
usermodehelper_enable();
|