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 /include/linux/suspend.h | |
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 'include/linux/suspend.h')
-rw-r--r-- | include/linux/suspend.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/include/linux/suspend.h b/include/linux/suspend.h index 26697514c5e..acb7d911bb0 100644 --- a/include/linux/suspend.h +++ b/include/linux/suspend.h @@ -262,7 +262,7 @@ static inline bool system_entering_hibernation(void) { return false; } extern int suspend_nvs_register(unsigned long start, unsigned long size); extern int suspend_nvs_alloc(void); extern void suspend_nvs_free(void); -extern void suspend_nvs_save(void); +extern int suspend_nvs_save(void); extern void suspend_nvs_restore(void); #else /* CONFIG_SUSPEND_NVS */ static inline int suspend_nvs_register(unsigned long a, unsigned long b) @@ -271,7 +271,7 @@ static inline int suspend_nvs_register(unsigned long a, unsigned long b) } static inline int suspend_nvs_alloc(void) { return 0; } static inline void suspend_nvs_free(void) {} -static inline void suspend_nvs_save(void) {} +static inline int suspend_nvs_save(void) {} static inline void suspend_nvs_restore(void) {} #endif /* CONFIG_SUSPEND_NVS */ |