[PATCH 4/6] kexec jump: in sync with hibernation implementation
Pavel Machek
pavel at suse.cz
Thu Aug 7 05:22:42 EDT 2008
> Add device_pm_lock() and device_pm_unlock() in kernel_kexec() to be
> in sync with current hibernation implementation.
>
> Signed-off-by: Huang Ying <ying.huang at intel.com>
>
> ---
> kernel/kexec.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> --- a/kernel/kexec.c
> +++ b/kernel/kexec.c
> @@ -1457,6 +1457,7 @@ int kernel_kexec(void)
> error = disable_nonboot_cpus();
> if (error)
> goto Resume_devices;
> + device_pm_lock();
> local_irq_disable();
> /* At this point, device_suspend() has been called,
> * but *not* device_power_down(). We *must*
> @@ -1485,6 +1486,7 @@ int kernel_kexec(void)
> device_power_up(PMSG_RESTORE);
> Enable_irqs:
> local_irq_enable();
> + device_pm_unlock();
> enable_nonboot_cpus();
> Resume_devices:
> device_resume(PMSG_RESTORE);
>
Would it be possible to create common function for hibernation and
kexec? Keeping complex stuff like this in sync is ugly.
Pavel
--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
More information about the kexec
mailing list