diff options
-rw-r--r-- | arch/x86/xen/suspend.c | 5 | ||||
-rw-r--r-- | arch/x86/xen/xen-ops.h | 1 | ||||
-rw-r--r-- | drivers/xen/manage.c | 6 | ||||
-rw-r--r-- | include/xen/xen-ops.h | 3 |
4 files changed, 11 insertions, 4 deletions
diff --git a/arch/x86/xen/suspend.c b/arch/x86/xen/suspend.c index 251669a932d4..2a234db5949b 100644 --- a/arch/x86/xen/suspend.c +++ b/arch/x86/xen/suspend.c | |||
@@ -38,8 +38,11 @@ void xen_post_suspend(int suspend_cancelled) | |||
38 | xen_cpu_initialized_map = cpu_online_map; | 38 | xen_cpu_initialized_map = cpu_online_map; |
39 | #endif | 39 | #endif |
40 | xen_vcpu_restore(); | 40 | xen_vcpu_restore(); |
41 | xen_timer_resume(); | ||
42 | } | 41 | } |
43 | 42 | ||
44 | } | 43 | } |
45 | 44 | ||
45 | void xen_arch_resume(void) | ||
46 | { | ||
47 | /* nothing */ | ||
48 | } | ||
diff --git a/arch/x86/xen/xen-ops.h b/arch/x86/xen/xen-ops.h index 6f4b1045c1c2..77354d204257 100644 --- a/arch/x86/xen/xen-ops.h +++ b/arch/x86/xen/xen-ops.h | |||
@@ -37,7 +37,6 @@ void __init xen_time_init(void); | |||
37 | unsigned long xen_get_wallclock(void); | 37 | unsigned long xen_get_wallclock(void); |
38 | int xen_set_wallclock(unsigned long time); | 38 | int xen_set_wallclock(unsigned long time); |
39 | unsigned long long xen_sched_clock(void); | 39 | unsigned long long xen_sched_clock(void); |
40 | void xen_timer_resume(void); | ||
41 | 40 | ||
42 | irqreturn_t xen_debug_interrupt(int irq, void *dev_id); | 41 | irqreturn_t xen_debug_interrupt(int irq, void *dev_id); |
43 | 42 | ||
diff --git a/drivers/xen/manage.c b/drivers/xen/manage.c index 5b546e365f00..2bb268e4ac56 100644 --- a/drivers/xen/manage.c +++ b/drivers/xen/manage.c | |||
@@ -68,6 +68,7 @@ static int xen_suspend(void *data) | |||
68 | if (!*cancelled) { | 68 | if (!*cancelled) { |
69 | xen_irq_resume(); | 69 | xen_irq_resume(); |
70 | xen_console_resume(); | 70 | xen_console_resume(); |
71 | xen_timer_resume(); | ||
71 | } | 72 | } |
72 | 73 | ||
73 | return 0; | 74 | return 0; |
@@ -107,9 +108,10 @@ static void do_suspend(void) | |||
107 | goto out; | 108 | goto out; |
108 | } | 109 | } |
109 | 110 | ||
110 | if (!cancelled) | 111 | if (!cancelled) { |
112 | xen_arch_resume(); | ||
111 | xenbus_resume(); | 113 | xenbus_resume(); |
112 | else | 114 | } else |
113 | xenbus_suspend_cancel(); | 115 | xenbus_suspend_cancel(); |
114 | 116 | ||
115 | device_resume(); | 117 | device_resume(); |
diff --git a/include/xen/xen-ops.h b/include/xen/xen-ops.h index a706d6a78960..883a21bba24b 100644 --- a/include/xen/xen-ops.h +++ b/include/xen/xen-ops.h | |||
@@ -11,4 +11,7 @@ void xen_post_suspend(int suspend_cancelled); | |||
11 | void xen_mm_pin_all(void); | 11 | void xen_mm_pin_all(void); |
12 | void xen_mm_unpin_all(void); | 12 | void xen_mm_unpin_all(void); |
13 | 13 | ||
14 | void xen_timer_resume(void); | ||
15 | void xen_arch_resume(void); | ||
16 | |||
14 | #endif /* INCLUDE_XEN_OPS_H */ | 17 | #endif /* INCLUDE_XEN_OPS_H */ |