[linux-pm] [PATCH] make pm_suspend_disk suspend/resume sysdev and dpm_off_irq

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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!


[Index of Archives]     [Linux ACPI]     [Netdev]     [Ethernet Bridging]     [Linux Wireless]     [CPU Freq]     [Kernel Newbies]     [Fedora Kernel]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux