diff options
author | Robin Holt <holt@sgi.com> | 2009-01-29 14:25:06 -0800 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-01-29 18:04:42 -0800 |
commit | 69b3bb65fa97a1e8563518dbbc35cd57beefb2d4 (patch) | |
tree | b8ca162f1a6ed85b85d8e406a3e9588ed0786144 /drivers/misc/sgi-xp/xpc_uv.c | |
parent | de33c8db5910cda599899dd431cc30d7c1018cbf (diff) | |
download | lwn-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.c | 2 |
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) { |