| From 05b4877f6a4f1ba4952d1222213d262bf8c132b7 Mon Sep 17 00:00:00 2001 |
| From: "Srivatsa S. Bhat" <srivatsa.bhat@linux.vnet.ibm.com> |
| Date: Fri, 17 Feb 2012 23:39:51 +0100 |
| Subject: PM / Hibernate: Enable usermodehelpers in hibernate() error path |
| |
| From: "Srivatsa S. Bhat" <srivatsa.bhat@linux.vnet.ibm.com> |
| |
| commit 05b4877f6a4f1ba4952d1222213d262bf8c132b7 upstream. |
| |
| If create_basic_memory_bitmaps() fails, usermodehelpers are not re-enabled |
| before returning. Fix this. And while at it, reword the goto labels so that |
| they look more meaningful. |
| |
| Signed-off-by: Srivatsa S. Bhat <srivatsa.bhat@linux.vnet.ibm.com> |
| Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| kernel/power/hibernate.c | 7 ++++--- |
| 1 file changed, 4 insertions(+), 3 deletions(-) |
| |
| --- a/kernel/power/hibernate.c |
| +++ b/kernel/power/hibernate.c |
| @@ -648,7 +648,7 @@ int hibernate(void) |
| /* Allocate memory management structures */ |
| error = create_basic_memory_bitmaps(); |
| if (error) |
| - goto Exit; |
| + goto Enable_umh; |
| |
| printk(KERN_INFO "PM: Syncing filesystems ... "); |
| sys_sync(); |
| @@ -656,7 +656,7 @@ int hibernate(void) |
| |
| error = prepare_processes(); |
| if (error) |
| - goto Finish; |
| + goto Free_bitmaps; |
| |
| error = hibernation_snapshot(hibernation_mode == HIBERNATION_PLATFORM); |
| if (error) |
| @@ -689,8 +689,9 @@ int hibernate(void) |
| |
| Thaw: |
| thaw_processes(); |
| - Finish: |
| + Free_bitmaps: |
| free_basic_memory_bitmaps(); |
| + Enable_umh: |
| usermodehelper_enable(); |
| Exit: |
| pm_notifier_call_chain(PM_POST_HIBERNATION); |