From 6c9ff4ccb711fde777c9b49c7de1f07027c929c3 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 2 Feb 2011 17:10:48 +0100 Subject: [PATCH] --- yaml --- r: 234687 b: refs/heads/master c: c305d524e5dd3c3c7a6035083e30950bea1b52dc h: refs/heads/master i: 234685: 366d497b1c84ec64824d435410bc82285df9bc89 234683: 92e6b2a3346705f526dc593f744d29ba0f26b54f 234679: 174d32d317b45df7f299cad92d7247c1805511a5 234671: 2815d1b99478644b3000dd65e512ba84ba8196fc 234655: 4a15cb70f707815b0244941b9fb6ecd12652fedd 234623: 647b60f67870d9cb99c7d1315eea2ebc8cec780f v: v3 --- [refs] | 2 +- trunk/kernel/softirq.c | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index 2a6990d7b828..da54422118ba 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: c9a443cdf7726ce8b78c3177c6ae601ce37292fc +refs/heads/master: c305d524e5dd3c3c7a6035083e30950bea1b52dc diff --git a/trunk/kernel/softirq.c b/trunk/kernel/softirq.c index 68eb5efec388..c0490464e92f 100644 --- a/trunk/kernel/softirq.c +++ b/trunk/kernel/softirq.c @@ -738,7 +738,10 @@ static int run_ksoftirqd(void * __bind_cpu) don't process */ if (cpu_is_offline((long)__bind_cpu)) goto wait_to_die; - do_softirq(); + local_irq_disable(); + if (local_softirq_pending()) + __do_softirq(); + local_irq_enable(); preempt_enable_no_resched(); cond_resched(); preempt_disable();