Re: [RFC][PATCH 1/4] PM: Use a different list of devices for each stage of device suspend

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

 



On Sun, 12 Dec 2010, Alan Stern wrote:

> On Mon, 13 Dec 2010, Rafael J. Wysocki wrote:
> 
> > From: Rafael J. Wysocki <rjw@xxxxxxx>
> > 
> > Instead of keeping all devices in the same list during system suspend
> > and resume, regardless of what suspend-resume callbacks have been
> > executed for them already, use separate lists of devices that have
> > had their ->prepare(), ->suspend() and ->suspend_noirq() callbacks
> > executed.  This will allow us to simplify the core device suspend and
> > resume routines.
> 
> Okay in principle.  But there's one mistake...
> 
> > @@ -699,8 +693,8 @@ static void dpm_complete(pm_message_t st
> >  	INIT_LIST_HEAD(&list);
> >  	mutex_lock(&dpm_list_mtx);
> >  	transition_started = false;
> > -	while (!list_empty(&dpm_list)) {
> > -		struct device *dev = to_device(dpm_list.prev);
> > +	while (!list_empty(&dpm_prepared_list)) {
> > +		struct device *dev = to_device(dpm_prepared_list.prev);
> >  
> >  		get_device(dev);
> >  		if (dev->power.status > DPM_ON) {
> 
> The parts about getting rid of "list" and putting dev back onto
> dpm_list got left out.

Never mind.  I forgot that we need to keep using the intermediate list
in order to handle new devices being registered while the resumes are
taking place.

Alan Stern

_______________________________________________
linux-pm mailing list
linux-pm@xxxxxxxxxxxxxxxxxxxxxxxxxx
https://lists.linux-foundation.org/mailman/listinfo/linux-pm


[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