diff options
author | Jiri Slaby <jslaby@suse.cz> | 2011-01-07 01:42:31 +0100 |
---|---|---|
committer | Len Brown <len.brown@intel.com> | 2011-01-07 00:26:45 -0500 |
commit | 26fcaf60fe3861409eb4c455c5c0d0f00f599b08 (patch) | |
tree | 43b0b91df3a1c8d136b63ce499001a05c9a02c93 /drivers/acpi | |
parent | 3c0eee3fe6a3a1c745379547c7e7c904aa64f6d5 (diff) |
PM: Fix oops in suspend/hibernate code related to failing ioremap()
When ioremap() fails (which might happen for some reason), we nicely
oops in suspend_nvs_save() due to NULL dereference by memcpy() in there.
Fail gracefully instead.
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Signed-off-by: Len Brown <len.brown@intel.com>
Diffstat (limited to 'drivers/acpi')
-rw-r--r-- | drivers/acpi/sleep.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/drivers/acpi/sleep.c b/drivers/acpi/sleep.c index febb153b5a6..d8bca6c9071 100644 --- a/drivers/acpi/sleep.c +++ b/drivers/acpi/sleep.c @@ -124,8 +124,7 @@ static int acpi_pm_freeze(void) static int acpi_pm_pre_suspend(void) { acpi_pm_freeze(); - suspend_nvs_save(); - return 0; + return suspend_nvs_save(); } /** @@ -151,7 +150,7 @@ static int acpi_pm_prepare(void) { int error = __acpi_pm_prepare(); if (!error) - acpi_pm_pre_suspend(); + error = acpi_pm_pre_suspend(); return error; } |