summaryrefslogtreecommitdiff
path: root/drivers/xen/preempt.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/xen/preempt.c')
-rw-r--r--drivers/xen/preempt.c8
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 */