diff options
Diffstat (limited to 'kernel/sched.c')
-rw-r--r-- | kernel/sched.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/kernel/sched.c b/kernel/sched.c index 48c1faa60a67..911829966534 100644 --- a/kernel/sched.c +++ b/kernel/sched.c | |||
@@ -4462,7 +4462,9 @@ int __sched cond_resched_softirq(void) | |||
4462 | BUG_ON(!in_softirq()); | 4462 | BUG_ON(!in_softirq()); |
4463 | 4463 | ||
4464 | if (need_resched() && __resched_legal()) { | 4464 | if (need_resched() && __resched_legal()) { |
4465 | __local_bh_enable(); | 4465 | raw_local_irq_disable(); |
4466 | _local_bh_enable(); | ||
4467 | raw_local_irq_enable(); | ||
4466 | __cond_resched(); | 4468 | __cond_resched(); |
4467 | local_bh_disable(); | 4469 | local_bh_disable(); |
4468 | return 1; | 4470 | return 1; |