diff options
-rw-r--r-- | include/linux/suspend.h | 16 | ||||
-rw-r--r-- | kernel/power/suspend.c | 18 |
2 files changed, 12 insertions, 22 deletions
diff --git a/include/linux/suspend.h b/include/linux/suspend.h index b901918..ac1c114 100644 --- a/include/linux/suspend.h +++ b/include/linux/suspend.h @@ -95,22 +95,6 @@ static inline void dpm_save_failed_step(enum suspend_stat_step step) } /** - * suspend_stats_update - Update success/failure statistics of suspend-to-ram - * - * @error: Value returned by enter_state() function - */ -static inline void suspend_stats_update(int error) -{ - if (error) { - suspend_stats.fail++; - dpm_save_failed_errno(error); - } else { - suspend_stats.success++; - } -} - - -/** * struct platform_suspend_ops - Callbacks for managing platform dependent * system sleep states. * diff --git a/kernel/power/suspend.c b/kernel/power/suspend.c index 4914358a..88e5c967 100644 --- a/kernel/power/suspend.c +++ b/kernel/power/suspend.c @@ -316,12 +316,18 @@ static int enter_state(suspend_state_t state) */ int pm_suspend(suspend_state_t state) { - int ret; - if (state > PM_SUSPEND_ON && state < PM_SUSPEND_MAX) { - ret = enter_state(state); - suspend_stats_update(ret); - return ret; + int error; + + if (state <= PM_SUSPEND_ON || state >= PM_SUSPEND_MAX) + return -EINVAL; + + error = enter_state(state); + if (error) { + suspend_stats.fail++; + dpm_save_failed_errno(error); + } else { + suspend_stats.success++; } - return -EINVAL; + return error; } EXPORT_SYMBOL(pm_suspend); |