diff options
author | Thomas Gleixner <tglx@linutronix.de> | 2007-07-21 07:37:34 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-07-21 20:49:15 -0400 |
commit | 18de5bc4c1f1f1fa5e14f354a7603bd6e9d4e3b6 (patch) | |
tree | cb0ff399fb3f368adecf213318e32a499ada6ff9 /arch/i386/xen | |
parent | 93da56efcf8c6a111f0349f6b7651172d4745ca0 (diff) |
clockevents: fix resume logic
We need to make sure, that the clockevent devices are resumed, before
the tick is resumed. The current resume logic does not guarantee this.
Add CLOCK_EVT_MODE_RESUME and call the set mode functions of the clock
event devices before resuming the tick / oneshot functionality.
Fixup the existing users.
Thanks to Nigel Cunningham for tracking down a long standing thinko,
which affected the jinxed VAIO.
[akpm@linux-foundation.org: xen build fix]
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: john stultz <johnstul@us.ibm.com>
Cc: Rusty Russell <rusty@rustcorp.com.au>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'arch/i386/xen')
-rw-r--r-- | arch/i386/xen/time.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/i386/xen/time.c b/arch/i386/xen/time.c index 51fdabf1fd4d..dfd6db69ead5 100644 --- a/arch/i386/xen/time.c +++ b/arch/i386/xen/time.c | |||
@@ -412,6 +412,7 @@ static void xen_timerop_set_mode(enum clock_event_mode mode, | |||
412 | break; | 412 | break; |
413 | 413 | ||
414 | case CLOCK_EVT_MODE_ONESHOT: | 414 | case CLOCK_EVT_MODE_ONESHOT: |
415 | case CLOCK_EVT_MODE_RESUME: | ||
415 | break; | 416 | break; |
416 | 417 | ||
417 | case CLOCK_EVT_MODE_UNUSED: | 418 | case CLOCK_EVT_MODE_UNUSED: |
@@ -474,6 +475,8 @@ static void xen_vcpuop_set_mode(enum clock_event_mode mode, | |||
474 | HYPERVISOR_vcpu_op(VCPUOP_stop_periodic_timer, cpu, NULL)) | 475 | HYPERVISOR_vcpu_op(VCPUOP_stop_periodic_timer, cpu, NULL)) |
475 | BUG(); | 476 | BUG(); |
476 | break; | 477 | break; |
478 | case CLOCK_EVT_MODE_RESUME: | ||
479 | break; | ||
477 | } | 480 | } |
478 | } | 481 | } |
479 | 482 | ||