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. Alan Stern _______________________________________________ linux-pm mailing list linux-pm@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/linux-pm