diff options
Diffstat (limited to 'kernel/softirq.c')
-rw-r--r-- | kernel/softirq.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/kernel/softirq.c b/kernel/softirq.c index de2f57fddc04..900dcfee542c 100644 --- a/kernel/softirq.c +++ b/kernel/softirq.c | |||
@@ -139,9 +139,13 @@ static void __local_bh_enable(unsigned int cnt) | |||
139 | { | 139 | { |
140 | lockdep_assert_irqs_disabled(); | 140 | lockdep_assert_irqs_disabled(); |
141 | 141 | ||
142 | if (preempt_count() == cnt) | ||
143 | trace_preempt_on(CALLER_ADDR0, get_lock_parent_ip()); | ||
144 | |||
142 | if (softirq_count() == (cnt & SOFTIRQ_MASK)) | 145 | if (softirq_count() == (cnt & SOFTIRQ_MASK)) |
143 | trace_softirqs_on(_RET_IP_); | 146 | trace_softirqs_on(_RET_IP_); |
144 | preempt_count_sub(cnt); | 147 | |
148 | __preempt_count_sub(cnt); | ||
145 | } | 149 | } |
146 | 150 | ||
147 | /* | 151 | /* |