summaryrefslogtreecommitdiffstats
path: root/drivers/misc/sgi-xp/xpc_uv.c
diff options
context:
space:
mode:
authorRobin Holt <holt@sgi.com>2009-01-29 23:25:06 +0100
committerLinus Torvalds <torvalds@linux-foundation.org>2009-01-30 03:04:42 +0100
commit69b3bb65fa97a1e8563518dbbc35cd57beefb2d4 (patch)
treeb8ca162f1a6ed85b85d8e406a3e9588ed0786144 /drivers/misc/sgi-xp/xpc_uv.c
parentFix OOPS in mmap_region() when merging adjacent VM_LOCKED file segments (diff)
downloadlinux-69b3bb65fa97a1e8563518dbbc35cd57beefb2d4.tar.xz
linux-69b3bb65fa97a1e8563518dbbc35cd57beefb2d4.zip
sgi-xpc: ensure flags are updated before bte_copy
The clearing of the msg->flags needs a barrier between it and the notify of the channel threads that the messages are cleaned and ready for use. Signed-off-by: Robin Holt <holt@sgi.com> Signed-off-by: Dean Nelson <dcn@sgi.com> Cc: <stable@kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'drivers/misc/sgi-xp/xpc_uv.c')
-rw-r--r--drivers/misc/sgi-xp/xpc_uv.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/misc/sgi-xp/xpc_uv.c b/drivers/misc/sgi-xp/xpc_uv.c
index 91a55b1b1037..f17f7d40ea2c 100644
--- a/drivers/misc/sgi-xp/xpc_uv.c
+++ b/drivers/misc/sgi-xp/xpc_uv.c
@@ -1423,7 +1423,7 @@ xpc_send_payload_uv(struct xpc_channel *ch, u32 flags, void *payload,
atomic_inc(&ch->n_to_notify);
msg_slot->key = key;
- wmb(); /* a non-NULL func must hit memory after the key */
+ smp_wmb(); /* a non-NULL func must hit memory after the key */
msg_slot->func = func;
if (ch->flags & XPC_C_DISCONNECTING) {