diff options
-rw-r--r-- | kernel/power/hibernate.c | 10 | ||||
-rw-r--r-- | kernel/power/user.c | 6 |
2 files changed, 7 insertions, 9 deletions
diff --git a/kernel/power/hibernate.c b/kernel/power/hibernate.c index c6dee739080c..72baaf011fb7 100644 --- a/kernel/power/hibernate.c +++ b/kernel/power/hibernate.c | |||
@@ -629,12 +629,8 @@ int hibernate(void) | |||
629 | goto Finish; | 629 | goto Finish; |
630 | 630 | ||
631 | error = hibernation_snapshot(hibernation_mode == HIBERNATION_PLATFORM); | 631 | error = hibernation_snapshot(hibernation_mode == HIBERNATION_PLATFORM); |
632 | if (error) | 632 | if (error || freezer_test_done) |
633 | goto Thaw; | ||
634 | if (freezer_test_done) { | ||
635 | freezer_test_done = false; | ||
636 | goto Thaw; | 633 | goto Thaw; |
637 | } | ||
638 | 634 | ||
639 | if (in_suspend) { | 635 | if (in_suspend) { |
640 | unsigned int flags = 0; | 636 | unsigned int flags = 0; |
@@ -659,6 +655,10 @@ int hibernate(void) | |||
659 | 655 | ||
660 | Thaw: | 656 | Thaw: |
661 | thaw_processes(); | 657 | thaw_processes(); |
658 | |||
659 | /* Don't bother checking whether freezer_test_done is true */ | ||
660 | freezer_test_done = false; | ||
661 | |||
662 | Finish: | 662 | Finish: |
663 | free_basic_memory_bitmaps(); | 663 | free_basic_memory_bitmaps(); |
664 | usermodehelper_enable(); | 664 | usermodehelper_enable(); |
diff --git a/kernel/power/user.c b/kernel/power/user.c index 7bee91f9af51..33c4329205af 100644 --- a/kernel/power/user.c +++ b/kernel/power/user.c | |||
@@ -251,10 +251,8 @@ static long snapshot_ioctl(struct file *filp, unsigned int cmd, | |||
251 | error = hibernation_snapshot(data->platform_support); | 251 | error = hibernation_snapshot(data->platform_support); |
252 | if (!error) { | 252 | if (!error) { |
253 | error = put_user(in_suspend, (int __user *)arg); | 253 | error = put_user(in_suspend, (int __user *)arg); |
254 | if (!error && !freezer_test_done) | 254 | data->ready = !freezer_test_done && !error; |
255 | data->ready = 1; | 255 | freezer_test_done = false; |
256 | if (freezer_test_done) | ||
257 | freezer_test_done = false; | ||
258 | } | 256 | } |
259 | break; | 257 | break; |
260 | 258 | ||