diff options
author | David S. Miller <davem@davemloft.net> | 2009-12-05 18:22:26 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-12-05 18:22:26 -0500 |
commit | 28b4d5cc17c20786848cdc07b7ea237a309776bb (patch) | |
tree | bae406a4b17229dcce7c11be5073f7a67665e477 /arch/mips/kernel | |
parent | d29cecda036f251aee4947f47eea0fe9ed8cc931 (diff) | |
parent | 96fa2b508d2d3fe040cf4ef2fffb955f0a537ea1 (diff) |
Merge branch 'master' of /home/davem/src/GIT/linux-2.6/
Conflicts:
drivers/net/pcmcia/fmvj18x_cs.c
drivers/net/pcmcia/nmclan_cs.c
drivers/net/pcmcia/xirc2ps_cs.c
drivers/net/wireless/ray_cs.c
Diffstat (limited to 'arch/mips/kernel')
-rw-r--r-- | arch/mips/kernel/syscall.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/arch/mips/kernel/syscall.c b/arch/mips/kernel/syscall.c index 3fe1fcfa2e73..fe0d79805603 100644 --- a/arch/mips/kernel/syscall.c +++ b/arch/mips/kernel/syscall.c | |||
@@ -306,6 +306,7 @@ static inline int mips_atomic_set(struct pt_regs *regs, | |||
306 | 306 | ||
307 | if (cpu_has_llsc && R10000_LLSC_WAR) { | 307 | if (cpu_has_llsc && R10000_LLSC_WAR) { |
308 | __asm__ __volatile__ ( | 308 | __asm__ __volatile__ ( |
309 | " .set mips3 \n" | ||
309 | " li %[err], 0 \n" | 310 | " li %[err], 0 \n" |
310 | "1: ll %[old], (%[addr]) \n" | 311 | "1: ll %[old], (%[addr]) \n" |
311 | " move %[tmp], %[new] \n" | 312 | " move %[tmp], %[new] \n" |
@@ -320,6 +321,7 @@ static inline int mips_atomic_set(struct pt_regs *regs, | |||
320 | " "STR(PTR)" 1b, 4b \n" | 321 | " "STR(PTR)" 1b, 4b \n" |
321 | " "STR(PTR)" 2b, 4b \n" | 322 | " "STR(PTR)" 2b, 4b \n" |
322 | " .previous \n" | 323 | " .previous \n" |
324 | " .set mips0 \n" | ||
323 | : [old] "=&r" (old), | 325 | : [old] "=&r" (old), |
324 | [err] "=&r" (err), | 326 | [err] "=&r" (err), |
325 | [tmp] "=&r" (tmp) | 327 | [tmp] "=&r" (tmp) |
@@ -329,6 +331,7 @@ static inline int mips_atomic_set(struct pt_regs *regs, | |||
329 | : "memory"); | 331 | : "memory"); |
330 | } else if (cpu_has_llsc) { | 332 | } else if (cpu_has_llsc) { |
331 | __asm__ __volatile__ ( | 333 | __asm__ __volatile__ ( |
334 | " .set mips3 \n" | ||
332 | " li %[err], 0 \n" | 335 | " li %[err], 0 \n" |
333 | "1: ll %[old], (%[addr]) \n" | 336 | "1: ll %[old], (%[addr]) \n" |
334 | " move %[tmp], %[new] \n" | 337 | " move %[tmp], %[new] \n" |
@@ -347,6 +350,7 @@ static inline int mips_atomic_set(struct pt_regs *regs, | |||
347 | " "STR(PTR)" 1b, 5b \n" | 350 | " "STR(PTR)" 1b, 5b \n" |
348 | " "STR(PTR)" 2b, 5b \n" | 351 | " "STR(PTR)" 2b, 5b \n" |
349 | " .previous \n" | 352 | " .previous \n" |
353 | " .set mips0 \n" | ||
350 | : [old] "=&r" (old), | 354 | : [old] "=&r" (old), |
351 | [err] "=&r" (err), | 355 | [err] "=&r" (err), |
352 | [tmp] "=&r" (tmp) | 356 | [tmp] "=&r" (tmp) |