diff options
Diffstat (limited to 'drivers/xen/manage.c')
| -rw-r--r-- | drivers/xen/manage.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/xen/manage.c b/drivers/xen/manage.c index c4997930afc7..5d42d55e299b 100644 --- a/drivers/xen/manage.c +++ b/drivers/xen/manage.c | |||
| @@ -102,15 +102,15 @@ static void do_suspend(void) | |||
| 102 | goto out_thaw; | 102 | goto out_thaw; |
| 103 | } | 103 | } |
| 104 | 104 | ||
| 105 | printk(KERN_DEBUG "suspending xenstore...\n"); | ||
| 106 | xs_suspend(); | ||
| 107 | |||
| 105 | err = dpm_suspend_noirq(PMSG_SUSPEND); | 108 | err = dpm_suspend_noirq(PMSG_SUSPEND); |
| 106 | if (err) { | 109 | if (err) { |
| 107 | printk(KERN_ERR "dpm_suspend_noirq failed: %d\n", err); | 110 | printk(KERN_ERR "dpm_suspend_noirq failed: %d\n", err); |
| 108 | goto out_resume; | 111 | goto out_resume; |
| 109 | } | 112 | } |
| 110 | 113 | ||
| 111 | printk(KERN_DEBUG "suspending xenstore...\n"); | ||
| 112 | xs_suspend(); | ||
| 113 | |||
| 114 | err = stop_machine(xen_suspend, &cancelled, cpumask_of(0)); | 114 | err = stop_machine(xen_suspend, &cancelled, cpumask_of(0)); |
| 115 | 115 | ||
| 116 | dpm_resume_noirq(PMSG_RESUME); | 116 | dpm_resume_noirq(PMSG_RESUME); |
| @@ -120,13 +120,13 @@ static void do_suspend(void) | |||
| 120 | cancelled = 1; | 120 | cancelled = 1; |
| 121 | } | 121 | } |
| 122 | 122 | ||
| 123 | out_resume: | ||
| 123 | if (!cancelled) { | 124 | if (!cancelled) { |
| 124 | xen_arch_resume(); | 125 | xen_arch_resume(); |
| 125 | xs_resume(); | 126 | xs_resume(); |
| 126 | } else | 127 | } else |
| 127 | xs_suspend_cancel(); | 128 | xs_suspend_cancel(); |
| 128 | 129 | ||
| 129 | out_resume: | ||
| 130 | dpm_resume_end(PMSG_RESUME); | 130 | dpm_resume_end(PMSG_RESUME); |
| 131 | 131 | ||
| 132 | /* Make sure timer events get retriggered on all CPUs */ | 132 | /* Make sure timer events get retriggered on all CPUs */ |
