From: Ian Campbell Date: Tue, 1 Dec 2009 11:47:14 +0000 (+0000) Subject: xen: improve error handling in do_suspend. X-Git-Tag: v2.6.33-rc1~327^2~3 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=65f63384b391bf4d384327d8a7c6de9860290b5c;p=pandora-kernel.git xen: improve error handling in do_suspend. The existing error handling has a few issues: - If freeze_processes() fails it exits with shutting_down = SHUTDOWN_SUSPEND. - If dpm_suspend_noirq() fails it exits without resuming xenbus. - If stop_machine() fails it exits without resuming xenbus or calling dpm_resume_end(). - xs_suspend()/xs_resume() and dpm_suspend_noirq()/dpm_resume_noirq() were not nested in the obvious way. Fix by ensuring each failure case goto's the correct label. Treat a failure of stop_machine() as a cancelled suspend in order to follow the correct resume path. Signed-off-by: Ian Campbell Signed-off-by: Jeremy Fitzhardinge Cc: Stable Kernel --- Reading git-diff-tree failed