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; |
