diff options
Diffstat (limited to 'kernel/softirq.c')
-rw-r--r-- | kernel/softirq.c | 4 |
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 | } |