diff options
Diffstat (limited to 'drivers/xen/preempt.c')
-rw-r--r-- | drivers/xen/preempt.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/drivers/xen/preempt.c b/drivers/xen/preempt.c index 8b9919c26095..17240c5325a3 100644 --- a/drivers/xen/preempt.c +++ b/drivers/xen/preempt.c @@ -8,7 +8,7 @@ #include <linux/sched.h> #include <xen/xen-ops.h> -#ifndef CONFIG_PREEMPT +#ifndef CONFIG_PREEMPTION /* * Some hypercalls issued by the toolstack can take many 10s of @@ -33,8 +33,10 @@ asmlinkage __visible void xen_maybe_preempt_hcall(void) * cpu. */ __this_cpu_write(xen_in_preemptible_hcall, false); - _cond_resched(); + local_irq_enable(); + cond_resched(); + local_irq_disable(); __this_cpu_write(xen_in_preemptible_hcall, true); } } -#endif /* CONFIG_PREEMPT */ +#endif /* CONFIG_PREEMPTION */ |