summaryrefslogtreecommitdiff
path: root/drivers/misc/sgi-xp/xpc_uv.c
diff options
context:
space:
mode:
authorRobin Holt <holt@sgi.com>2009-01-29 14:25:06 -0800
committerLinus Torvalds <torvalds@linux-foundation.org>2009-01-29 18:04:42 -0800
commit69b3bb65fa97a1e8563518dbbc35cd57beefb2d4 (patch)
treeb8ca162f1a6ed85b85d8e406a3e9588ed0786144 /drivers/misc/sgi-xp/xpc_uv.c
parentde33c8db5910cda599899dd431cc30d7c1018cbf (diff)
downloadlwn-69b3bb65fa97a1e8563518dbbc35cd57beefb2d4.tar.gz
lwn-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) {