|
@@ -168,8 +168,8 @@ static inline void set_eiem(unsigned long val)
|
|
/* LDCW, the only atomic read-write operation PA-RISC has. *sigh*. */
|
|
/* LDCW, the only atomic read-write operation PA-RISC has. *sigh*. */
|
|
#define __ldcw(a) ({ \
|
|
#define __ldcw(a) ({ \
|
|
unsigned __ret; \
|
|
unsigned __ret; \
|
|
- __asm__ __volatile__(__LDCW " 0(%1),%0" \
|
|
|
|
- : "=r" (__ret) : "r" (a)); \
|
|
|
|
|
|
+ __asm__ __volatile__(__LDCW " 0(%2),%0" \
|
|
|
|
+ : "=r" (__ret), "+m" (*(a)) : "r" (a)); \
|
|
__ret; \
|
|
__ret; \
|
|
})
|
|
})
|
|
|
|
|