From ded9ecf5d6e261fa7f03c847fb39bade8eddfb47 Mon Sep 17 00:00:00 2001 From: "Rafael J. Wysocki" Date: Wed, 28 Mar 2012 23:30:14 +0200 Subject: [PATCH] --- yaml --- r: 298607 b: refs/heads/master c: 7b5179ac14dbad945647ac9e76bbbf14ed9e0dbe h: refs/heads/master i: 298605: 05b8d1a3e57eefe9d2cb7ba2a4fec70cc0aa6017 298603: 956e85ecedd294ab32b3d89a61e1770dcf40ec49 298599: 43157332c6c90c9ea026ee975c23c3ae2ddf5d0b 298591: 2c228a283d41415aa84f8e06e7d72518720f0a29 v: v3 --- [refs] | 2 +- trunk/kernel/power/hibernate.c | 23 ++++++++++------------- 2 files changed, 11 insertions(+), 14 deletions(-) diff --git a/[refs] b/[refs] index fa22a77de0d9..92203ee4f9a2 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 9b78c1da60b3c62ccdd1509f0902ad19ceaf776b +refs/heads/master: 7b5179ac14dbad945647ac9e76bbbf14ed9e0dbe diff --git a/trunk/kernel/power/hibernate.c b/trunk/kernel/power/hibernate.c index 0a186cfde788..639ff6e4ae9e 100644 --- a/trunk/kernel/power/hibernate.c +++ b/trunk/kernel/power/hibernate.c @@ -611,19 +611,19 @@ int hibernate(void) if (error) goto Exit; - error = usermodehelper_disable(); - if (error) - goto Exit; - /* Allocate memory management structures */ error = create_basic_memory_bitmaps(); if (error) - goto Enable_umh; + goto Exit; printk(KERN_INFO "PM: Syncing filesystems ... "); sys_sync(); printk("done.\n"); + error = usermodehelper_disable(); + if (error) + goto Exit; + error = freeze_processes(); if (error) goto Free_bitmaps; @@ -660,9 +660,8 @@ int hibernate(void) freezer_test_done = false; Free_bitmaps: - free_basic_memory_bitmaps(); - Enable_umh: usermodehelper_enable(); + free_basic_memory_bitmaps(); Exit: pm_notifier_call_chain(PM_POST_HIBERNATION); pm_restore_console(); @@ -777,15 +776,13 @@ static int software_resume(void) if (error) goto close_finish; - error = usermodehelper_disable(); + error = create_basic_memory_bitmaps(); if (error) goto close_finish; - error = create_basic_memory_bitmaps(); - if (error) { - usermodehelper_enable(); + error = usermodehelper_disable(); + if (error) goto close_finish; - } pr_debug("PM: Preparing processes for restore.\n"); error = freeze_processes(); @@ -805,8 +802,8 @@ static int software_resume(void) swsusp_free(); thaw_processes(); Done: - free_basic_memory_bitmaps(); usermodehelper_enable(); + free_basic_memory_bitmaps(); Finish: pm_notifier_call_chain(PM_POST_RESTORE); pm_restore_console();