Hi! > > Okay, this should be better patch. It works here. > > device_power_down() might fail, in this case we should > bail out, right? Hmm, yes, you might want to add error=device_power_down(), if (error) { local_irq_enable(); return error; }. But I do not think system devices really fail, and if they fail during resume, there's no good way to recover the system, anyway... I'd just apply this one, it will have to change after 2.6.10 anyway. Pavel > > --- clean/kernel/power/swsusp.c 2004-10-19 > > 14:16:29.000000000 +0200 > > +++ linux/kernel/power/swsusp.c 2004-11-25 > > 12:27:35.000000000 +0100 > > @@ -854,11 +840,13 @@ > > if ((error = arch_prepare_suspend())) > > return error; > > local_irq_disable(); > > + device_power_down(3); > > save_processor_state(); > > error = swsusp_arch_suspend(); > > /* Restore control flow magically appears here */ > > restore_processor_state(); restore_highmem(); > > + device_power_up(); > > local_irq_enable(); > > return error; > > } > > @@ -878,6 +866,7 @@ > > { > > int error; > > local_irq_disable(); > > + device_power_down(3); > > /* We'll ignore saved state, but this gets preempt count (etc) > > right */ save_processor_state(); > > error = swsusp_arch_resume(); > > @@ -887,6 +876,7 @@ > > BUG_ON(!error); > > restore_processor_state(); > > restore_highmem(); > > + device_power_up(); > > local_irq_enable(); > > return error; > > } -- People were complaining that M$ turns users into beta-testers... ...jr ghea gurz vagb qrirybcref, naq gurl frrz gb yvxr vg gung jnl!