Skip to contentSkip to conversation

swsusp: fix highmem

PATCH Pavel Machek 1 participant 1 message Aug 17, 2004

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

Hi!

This actually calls highmem_resume(), so swsusp has chance to work on highmem machines. It also adds comments about code flow, which is quite interesting at that point.

Please apply,
Pavel

kernel/power/swsusp.c +7 -0
@@ -854,8 +854,10 @@
 	local_irq_disable();
 	save_processor_state();
 	error = swsusp_arch_suspend();
+	/* Restore control flow magically appears here */
 	restore_processor_state();
 	local_irq_enable();
+	restore_highmem();
 	return error;
 }
 
@@ -874,8 +876,13 @@
 {
 	int error;
 	local_irq_disable();
+	/* We'll ignore saved state, but this gets preempt count (etc) right */
 	save_processor_state();
 	error = swsusp_arch_resume();
+	/* Code below is only ever reached in case of failure. Otherwise
+	 * execution continues at place where swsusp_arch_suspend was called
+         */
+	BUG_ON(!error);
 	restore_processor_state();
 	restore_highmem();
 	local_irq_enable();
Signature · 2 lines
People were complaining that M$ turns users into beta-testers...
...jr ghea gurz vagb qrirybcref, naq gurl frrz gb yvxr vg gung jnl!