diff options
| author | Jeff Garzik <jeff@garzik.org> | 2006-09-27 18:13:53 -0400 |
|---|---|---|
| committer | Jeff Garzik <jeff@garzik.org> | 2006-09-27 18:13:53 -0400 |
| commit | aebb1153ac54ddbbd3d3f0481a193f4bf0ead53b (patch) | |
| tree | 57425aa83c8bed5b41af7e3408024fe1f2fdded9 /kernel/power/swsusp.c | |
| parent | 022e7a12b6aa11a11de4d708fe8606c9a6734b37 (diff) | |
| parent | a77c64c1a641950626181b4857abb701d8f38ccc (diff) | |
Merge branch 'master' into upstream
Diffstat (limited to 'kernel/power/swsusp.c')
| -rw-r--r-- | kernel/power/swsusp.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/kernel/power/swsusp.c b/kernel/power/swsusp.c index 8ef677ea0cea..0b66659dc516 100644 --- a/kernel/power/swsusp.c +++ b/kernel/power/swsusp.c | |||
| @@ -247,6 +247,9 @@ int swsusp_suspend(void) | |||
| 247 | restore_processor_state(); | 247 | restore_processor_state(); |
| 248 | Restore_highmem: | 248 | Restore_highmem: |
| 249 | restore_highmem(); | 249 | restore_highmem(); |
| 250 | /* NOTE: device_power_up() is just a resume() for devices | ||
| 251 | * that suspended with irqs off ... no overall powerup. | ||
| 252 | */ | ||
| 250 | device_power_up(); | 253 | device_power_up(); |
| 251 | Enable_irqs: | 254 | Enable_irqs: |
| 252 | local_irq_enable(); | 255 | local_irq_enable(); |
| @@ -256,8 +259,12 @@ Enable_irqs: | |||
| 256 | int swsusp_resume(void) | 259 | int swsusp_resume(void) |
| 257 | { | 260 | { |
| 258 | int error; | 261 | int error; |
| 262 | |||
| 259 | local_irq_disable(); | 263 | local_irq_disable(); |
| 260 | if (device_power_down(PMSG_FREEZE)) | 264 | /* NOTE: device_power_down() is just a suspend() with irqs off; |
| 265 | * it has no special "power things down" semantics | ||
| 266 | */ | ||
| 267 | if (device_power_down(PMSG_PRETHAW)) | ||
| 261 | printk(KERN_ERR "Some devices failed to power down, very bad\n"); | 268 | printk(KERN_ERR "Some devices failed to power down, very bad\n"); |
| 262 | /* We'll ignore saved state, but this gets preempt count (etc) right */ | 269 | /* We'll ignore saved state, but this gets preempt count (etc) right */ |
| 263 | save_processor_state(); | 270 | save_processor_state(); |
