diff --git a/kernel/softirq.c b/kernel/softirq.c index 590049c17dc818620018185dc1b290b9633c4b09..2ce0962e5929614dff4427c0c5fd77f4367f0ce2 100644 --- a/kernel/softirq.c +++ b/kernel/softirq.c @@ -1033,10 +1033,10 @@ sleep_more: goto sleep_more; } per_cpu(softirq_running, cpu) |= softirq_mask; - __preempt_enable_no_resched(); set_softirq_pending(local_softirq_pending() & ~softirq_mask); local_bh_disable(); local_irq_enable(); + preempt_enable(); h = &softirq_vec[data->nr]; if (h)