diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2009-09-17 09:53:04 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-09-17 09:53:04 -0700 |
commit | abf5940dad78dde95edd7f6ba6e329cd10a92a5c (patch) | |
tree | eebc8af6a41ad11c92d8f2858700c11bec558eb3 /arch/blackfin/kernel/process.c | |
parent | 66bc4a6f34a950c7aede597c578352c3eba82017 (diff) | |
parent | 5bf9cbef9972f851172391a37261b12bba63f733 (diff) |
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/vapier/blackfin
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/vapier/blackfin: (75 commits)
Blackfin: update ftrace for latest toolchain
Blackfin: fix elf_fpregset_t definition
Blackfin: unify cache init functions
Blackfin: swap clocksource ratings for gptimer/cycles
Blackfin: update ftrace_push_return_trace() breakage
Blackfin: update cm board resources
Blackfin: cm-bf537u: split board from cm-bf537e
Blackfin: bf538-ezkit: add SPI IRQ resources
Blackfin: increase default async timings for parallel flashes
Blackfin: add ICPLB coverage for async banks
Blackfin: use KERN_ALERT in all kgdb_test output
Blackfin: fix BF54x SPI CS resources
Blackfin: fix typo in isram_write()
Blackfin: bf537-stamp: add adp5588 gpio resources
Blackfin: add some isram-driver self tests
Blackfin: workaround anomaly 05000283
Blackfin: fix spelling in a few comments
Blackfin: use raw_smp_processor_id() in exception code
Blackfin: remove useless duplicated assignment in gpio code
Blackfin: Fix link errors with binutils 2.19 and GCC 4.3
...
Diffstat (limited to 'arch/blackfin/kernel/process.c')
-rw-r--r-- | arch/blackfin/kernel/process.c | 10 |
1 files changed, 2 insertions, 8 deletions
diff --git a/arch/blackfin/kernel/process.c b/arch/blackfin/kernel/process.c index 9da36bab7cc..f5b28618964 100644 --- a/arch/blackfin/kernel/process.c +++ b/arch/blackfin/kernel/process.c @@ -282,25 +282,19 @@ void finish_atomic_sections (struct pt_regs *regs) { int __user *up0 = (int __user *)regs->p0; - if (regs->pc < ATOMIC_SEQS_START || regs->pc >= ATOMIC_SEQS_END) - return; - switch (regs->pc) { case ATOMIC_XCHG32 + 2: put_user(regs->r1, up0); - regs->pc += 2; + regs->pc = ATOMIC_XCHG32 + 4; break; case ATOMIC_CAS32 + 2: case ATOMIC_CAS32 + 4: if (regs->r0 == regs->r1) + case ATOMIC_CAS32 + 6: put_user(regs->r2, up0); regs->pc = ATOMIC_CAS32 + 8; break; - case ATOMIC_CAS32 + 6: - put_user(regs->r2, up0); - regs->pc += 2; - break; case ATOMIC_ADD32 + 2: regs->r0 = regs->r1 + regs->r0; |