diff options
| author | Jeff Garzik <jgarzik@pobox.com> | 2005-11-04 21:39:31 -0500 |
|---|---|---|
| committer | Jeff Garzik <jgarzik@pobox.com> | 2005-11-04 21:39:31 -0500 |
| commit | c2cc87ca9561ddfe744d446789cc10f507e87db9 (patch) | |
| tree | d505fc0110eb1a3d8750ba2f67648c131f0d9aca /kernel/power/main.c | |
| parent | ce1eeb95fc4eb25109c00bea3e83a87eeff6b07d (diff) | |
| parent | 7015faa7df829876a0f931cd18aa6d7c24a1b581 (diff) | |
Merge branch 'master'
Diffstat (limited to 'kernel/power/main.c')
| -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 22bdc93cc038..18d7d693fbba 100644 --- a/kernel/power/main.c +++ b/kernel/power/main.c | |||
| @@ -167,6 +167,8 @@ static int enter_state(suspend_state_t state) | |||
| 167 | { | 167 | { |
| 168 | int error; | 168 | int error; |
| 169 | 169 | ||
| 170 | if (pm_ops->valid && !pm_ops->valid(state)) | ||
| 171 | return -ENODEV; | ||
| 170 | if (down_trylock(&pm_sem)) | 172 | if (down_trylock(&pm_sem)) |
| 171 | return -EBUSY; | 173 | return -EBUSY; |
| 172 | 174 | ||
| @@ -236,7 +238,8 @@ static ssize_t state_show(struct subsystem * subsys, char * buf) | |||
| 236 | char * s = buf; | 238 | char * s = buf; |
| 237 | 239 | ||
| 238 | for (i = 0; i < PM_SUSPEND_MAX; i++) { | 240 | for (i = 0; i < PM_SUSPEND_MAX; i++) { |
| 239 | if (pm_states[i]) | 241 | if (pm_states[i] && pm_ops && (!pm_ops->valid |
| 242 | ||(pm_ops->valid && pm_ops->valid(i)))) | ||
| 240 | s += sprintf(s,"%s ",pm_states[i]); | 243 | s += sprintf(s,"%s ",pm_states[i]); |
| 241 | } | 244 | } |
| 242 | s += sprintf(s,"\n"); | 245 | s += sprintf(s,"\n"); |
