aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--kernel/power/main.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/kernel/power/main.c b/kernel/power/main.c
index e1c413120469..a064dfd8877a 100644
--- a/kernel/power/main.c
+++ b/kernel/power/main.c
@@ -167,7 +167,10 @@ static inline int valid_state(suspend_state_t state)
167 if (state == PM_SUSPEND_DISK) 167 if (state == PM_SUSPEND_DISK)
168 return 1; 168 return 1;
169 169
170 if (pm_ops && pm_ops->valid && !pm_ops->valid(state)) 170 /* all other states need lowlevel support and need to be
171 * valid to the lowlevel implementation, no valid callback
172 * implies that all are valid. */
173 if (!pm_ops || (pm_ops->valid && !pm_ops->valid(state)))
171 return 0; 174 return 0;
172 return 1; 175 return 1;
173} 176}