aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/power/suspend.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/power/suspend.c')
-rw-r--r--kernel/power/suspend.c18
1 files changed, 12 insertions, 6 deletions
diff --git a/kernel/power/suspend.c b/kernel/power/suspend.c
index 4914358a0543..88e5c967370d 100644
--- a/kernel/power/suspend.c
+++ b/kernel/power/suspend.c
@@ -316,12 +316,18 @@ static int enter_state(suspend_state_t state)
316 */ 316 */
317int pm_suspend(suspend_state_t state) 317int pm_suspend(suspend_state_t state)
318{ 318{
319 int ret; 319 int error;
320 if (state > PM_SUSPEND_ON && state < PM_SUSPEND_MAX) { 320
321 ret = enter_state(state); 321 if (state <= PM_SUSPEND_ON || state >= PM_SUSPEND_MAX)
322 suspend_stats_update(ret); 322 return -EINVAL;
323 return ret; 323
324 error = enter_state(state);
325 if (error) {
326 suspend_stats.fail++;
327 dpm_save_failed_errno(error);
328 } else {
329 suspend_stats.success++;
324 } 330 }
325 return -EINVAL; 331 return error;
326} 332}
327EXPORT_SYMBOL(pm_suspend); 333EXPORT_SYMBOL(pm_suspend);