aboutsummaryrefslogtreecommitdiff
path: root/arch/sparc64
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@woody.linux-foundation.org>2007-03-12 18:13:02 -0700
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-03-12 18:13:02 -0700
commit44a5085162f3d3231b359784319a207032e09523 (patch)
tree8edc17bb33586f4e05b06af8155ea8896bed6346 /arch/sparc64
parent27d30b0f4e0c8e63f48ef400a64fc073b71bfe59 (diff)
parent54f565ea895b383b67a2d6e31d2e2fcac5e6c345 (diff)
Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6
* master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6: [SPARC]: Fix TIF_USEDFPU flag atomicity [SPARC64]: Fix atomicity of TIF update in flush_thread() [BW2]: Fix section mismatch warnings. [CG14]: Fix section mismatch warnings. [SPARC]: We do not need OLD_GETRLIMIT.
Diffstat (limited to 'arch/sparc64')
-rw-r--r--arch/sparc64/kernel/process.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/arch/sparc64/kernel/process.c b/arch/sparc64/kernel/process.c
index 7d75cd4eb29..b291060c25a 100644
--- a/arch/sparc64/kernel/process.c
+++ b/arch/sparc64/kernel/process.c
@@ -413,8 +413,13 @@ void flush_thread(void)
struct thread_info *t = current_thread_info();
struct mm_struct *mm;
- if (t->flags & _TIF_ABI_PENDING)
- t->flags ^= (_TIF_ABI_PENDING | _TIF_32BIT);
+ if (test_ti_thread_flag(t, TIF_ABI_PENDING)) {
+ clear_ti_thread_flag(t, TIF_ABI_PENDING);
+ if (test_ti_thread_flag(t, TIF_32BIT))
+ clear_ti_thread_flag(t, TIF_32BIT);
+ else
+ set_ti_thread_flag(t, TIF_32BIT);
+ }
mm = t->task->mm;
if (mm)