aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/softirq.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/softirq.c')
-rw-r--r--kernel/softirq.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/kernel/softirq.c b/kernel/softirq.c
index 11025ccc06dd..7500cce1ebfd 100644
--- a/kernel/softirq.c
+++ b/kernel/softirq.c
@@ -107,7 +107,7 @@ static void __local_bh_disable(unsigned long ip, unsigned int cnt)
107 /* 107 /*
108 * Were softirqs turned off above: 108 * Were softirqs turned off above:
109 */ 109 */
110 if (softirq_count() == cnt) 110 if (softirq_count() == (cnt & SOFTIRQ_MASK))
111 trace_softirqs_off(ip); 111 trace_softirqs_off(ip);
112 raw_local_irq_restore(flags); 112 raw_local_irq_restore(flags);
113 113
@@ -133,7 +133,7 @@ static void __local_bh_enable(unsigned int cnt)
133{ 133{
134 WARN_ON_ONCE(!irqs_disabled()); 134 WARN_ON_ONCE(!irqs_disabled());
135 135
136 if (softirq_count() == cnt) 136 if (softirq_count() == (cnt & SOFTIRQ_MASK))
137 trace_softirqs_on(_RET_IP_); 137 trace_softirqs_on(_RET_IP_);
138 preempt_count_sub(cnt); 138 preempt_count_sub(cnt);
139} 139}