PM: Change hibernation code ordering
authorRafael J. Wysocki <rjw@sisk.pl>
Mon, 16 Mar 2009 21:34:26 +0000 (22:34 +0100)
committerRafael J. Wysocki <rjw@sisk.pl>
Mon, 30 Mar 2009 19:46:54 +0000 (21:46 +0200)
commit4aecd6718939eb3c4145b248369b65f7483a8a02
tree20030736ca8e762b5de7ad2e66c39321c9ef94f5
parent900af0d973856d6feb6fc088c2d0d3fde57707d3
PM: Change hibernation code ordering

Change the ordering of the hibernation core code so that the platform
"prepare" callbacks are executed and the nonboot CPUs are disabled
after calling device drivers' "late suspend" methods.

This change (along with the previous analogous change of the suspend
core code) will allow us to rework the PCI PM core so that the power
state of devices is changed in the "late" phase of suspend (and
analogously in the "early" phase of resume), which in turn will allow
us to avoid the race condition where a device using shared interrupts
is put into a low power state with interrupts enabled and then an
interrupt (for another device) comes in and confuses its driver.

Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Acked-by: Ingo Molnar <mingo@elte.hu>
kernel/power/disk.c