[PATCH] sh: PREEMPT_ACTIVE fix
authorPaul Mundt <lethal@Linux-SH.ORG>
Sat, 28 May 2005 22:52:01 +0000 (15:52 -0700)
committerLinus Torvalds <torvalds@ppc970.osdl.org>
Sat, 28 May 2005 23:46:13 +0000 (16:46 -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 d82f883d8e6d3b68fe571b724103a528eb7f4fbc..4bbbd9f3c37e91ad5524133b182d8d3ff3cf5197 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 e65f394da472a7c4adfcf6a79f7da692a2d42cbb..8a32d6bd0b793b947deab7c6f311b3e6c49d5106 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 */