[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH] pvops: Resume devices when suspend is failed
Recent pvops kernel does not call dpm_resume_end when dpm_suspend_start is failed. This makes some device remain suspended after the unsuccessful call of do_suspend from xenbus. In my test, a PV-on-HVM guest printed the following message after received a suspend request through xenbus, and then stucked due to disk access. [41577.764748] sd 0:0:0:0: [sda] Stopping disk [41577.765273] PM: Device input2 failed to suspend: error -22 [41577.765275] xen suspend: dpm_suspend_start -22 The following patch fixes this by calling dpm_suspend_start after the failure of dpm_resume_end. --- linux-2.6-xen/drivers/xen/manage.c | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/linux-2.6-xen/drivers/xen/manage.c b/linux-2.6-xen/drivers/xen/manage.c index 5078704..3eec337 100644 --- a/linux-2.6-xen/drivers/xen/manage.c +++ b/linux-2.6-xen/drivers/xen/manage.c @@ -120,6 +120,7 @@ static void do_suspend(void) err = dpm_suspend_start(PMSG_SUSPEND); if (err) { + dpm_resume_end(PMSG_RESUME); printk(KERN_ERR "xen suspend: dpm_suspend_start %d\n", err); goto out_thaw; } -- 1.7.0.4 -- æéç, Frank Pan Computer Science and Technology Tsinghua University Attachment:
0001-Resume-devices-when-suspend-is-failed.patch _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |