diff options
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/lguest/interrupts_and_traps.c | 6 | ||||
-rw-r--r-- | drivers/lguest/lguest_user.c | 4 |
2 files changed, 5 insertions, 5 deletions
diff --git a/drivers/lguest/interrupts_and_traps.c b/drivers/lguest/interrupts_and_traps.c index 6e99adbe1946..9ea26ad88c9d 100644 --- a/drivers/lguest/interrupts_and_traps.c +++ b/drivers/lguest/interrupts_and_traps.c | |||
@@ -511,9 +511,9 @@ static enum hrtimer_restart clockdev_fn(struct hrtimer *timer) | |||
511 | 511 | ||
512 | /* Remember the first interrupt is the timer interrupt. */ | 512 | /* Remember the first interrupt is the timer interrupt. */ |
513 | set_bit(0, cpu->irqs_pending); | 513 | set_bit(0, cpu->irqs_pending); |
514 | /* If the Guest is actually stopped, we need to wake it up. */ | 514 | /* Guest may be stopped or running on another CPU. */ |
515 | if (cpu->halted) | 515 | if (!wake_up_process(cpu->tsk)) |
516 | wake_up_process(cpu->tsk); | 516 | kick_process(cpu->tsk); |
517 | return HRTIMER_NORESTART; | 517 | return HRTIMER_NORESTART; |
518 | } | 518 | } |
519 | 519 | ||
diff --git a/drivers/lguest/lguest_user.c b/drivers/lguest/lguest_user.c index b8ee103eed5f..bcdcf3453e78 100644 --- a/drivers/lguest/lguest_user.c +++ b/drivers/lguest/lguest_user.c | |||
@@ -24,8 +24,8 @@ static int break_guest_out(struct lg_cpu *cpu, const unsigned long __user*input) | |||
24 | 24 | ||
25 | if (on) { | 25 | if (on) { |
26 | cpu->break_out = 1; | 26 | cpu->break_out = 1; |
27 | /* Pop it out of the Guest (may be running on different CPU) */ | 27 | if (!wake_up_process(cpu->tsk)) |
28 | wake_up_process(cpu->tsk); | 28 | kick_process(cpu->tsk); |
29 | /* Wait for them to reset it */ | 29 | /* Wait for them to reset it */ |
30 | return wait_event_interruptible(cpu->break_wq, !cpu->break_out); | 30 | return wait_event_interruptible(cpu->break_wq, !cpu->break_out); |
31 | } else { | 31 | } else { |