diff options
-rw-r--r-- | kernel/power/main.c | 5 |
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 | } |