[PATCH] sh: PREEMPT_ACTIVE fix
Paul Mundt [Sat, 28 May 2005 22:52:01 +0000 (15:52 -0700)]
Port Paulus's ppc64 fix to sh:

  When the generic IRQ stuff went in, it seems that HARDIRQ_BITS got bumped
  from 9 (for ppc64) up to 12.  Consequently, the PREEMPT_ACTIVE bit is now
  within HARDIRQ_MASK, and I get in_interrupt() falsely returning true when
  PREEMPT_ACTIVE is set, and thus a BUG_ON tripping in arch/ppc64/mm/tlb.c.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

include/asm-sh/thread_info.h
include/asm-sh64/thread_info.h

index d82f883..4bbbd9f 100644 (file)
@@ -27,7 +27,7 @@ struct thread_info {
 
 #endif
 
-#define PREEMPT_ACTIVE         0x4000000
+#define PREEMPT_ACTIVE         0x10000000
 
 /*
  * macros/functions for gaining access to the thread information structure
index e65f394..8a32d6b 100644 (file)
@@ -73,7 +73,7 @@ static inline struct thread_info *current_thread_info(void)
 
 #define THREAD_SIZE  8192
 
-#define PREEMPT_ACTIVE         0x4000000
+#define PREEMPT_ACTIVE         0x10000000
 
 /* thread information flags */
 #define TIF_SYSCALL_TRACE      0       /* syscall trace active */