Merge branch 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git...
[linux-2.6-block.git] / kernel / softirq.c
index 9526895fe4ace8d74b178ceb0cbafe6fdfa36f67..d28813306b2c2001e5a3375830460d9be716917e 100644 (file)
@@ -301,7 +301,8 @@ restart:
                pending >>= softirq_bit;
        }
 
-       rcu_bh_qs();
+       if (__this_cpu_read(ksoftirqd) == current)
+               rcu_softirq_qs();
        local_irq_disable();
 
        pending = local_softirq_pending();