diff options
author | Arnd Bergmann <arnd@arndb.de> | 2010-10-28 10:12:33 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2010-11-02 08:39:13 -0400 |
commit | 7fe19da4ca38fc20cdbc7020fcf2eca8fc756410 (patch) | |
tree | 35a15dd2bdc4f70b312141fe768ed093df1f8188 | |
parent | 020e773f6b2e797a13d23723773ed1b3ba2c35dc (diff) |
preempt: fix kernel build with !CONFIG_BKL
The preempt count logic tries to take the BKL into account, which breaks
when CONFIG_BKL is not set.
Use the same preempt_count offset that we use without CONFIG_PREEMPT
when CONFIG_BKL is disabled.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Reported-and-tested-by: Kirill A. Shutemov <kirill@shutemov.name>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r-- | include/linux/hardirq.h | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/include/linux/hardirq.h b/include/linux/hardirq.h index 8a389b608ce3..41cb31f14ee3 100644 --- a/include/linux/hardirq.h +++ b/include/linux/hardirq.h | |||
@@ -96,11 +96,15 @@ | |||
96 | */ | 96 | */ |
97 | #define in_nmi() (preempt_count() & NMI_MASK) | 97 | #define in_nmi() (preempt_count() & NMI_MASK) |
98 | 98 | ||
99 | #if defined(CONFIG_PREEMPT) | 99 | #if defined(CONFIG_PREEMPT) && defined(CONFIG_BKL) |
100 | # define PREEMPT_INATOMIC_BASE kernel_locked() | 100 | # define PREEMPT_INATOMIC_BASE kernel_locked() |
101 | # define PREEMPT_CHECK_OFFSET 1 | ||
102 | #else | 101 | #else |
103 | # define PREEMPT_INATOMIC_BASE 0 | 102 | # define PREEMPT_INATOMIC_BASE 0 |
103 | #endif | ||
104 | |||
105 | #if defined(CONFIG_PREEMPT) | ||
106 | # define PREEMPT_CHECK_OFFSET 1 | ||
107 | #else | ||
104 | # define PREEMPT_CHECK_OFFSET 0 | 108 | # define PREEMPT_CHECK_OFFSET 0 |
105 | #endif | 109 | #endif |
106 | 110 | ||