From a5b72cc2e41023dc679fa9497b3d4241e11020f8 Mon Sep 17 00:00:00 2001 From: Xin Zhao Date: Fri, 30 Mar 2018 02:56:09 -0500 Subject: [PATCH] ompi/oshmem: fix cswap bug in mca/atomic/mxm. Signed-off-by: Xin Zhao --- oshmem/mca/atomic/mxm/atomic_mxm_cswap.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/oshmem/mca/atomic/mxm/atomic_mxm_cswap.c b/oshmem/mca/atomic/mxm/atomic_mxm_cswap.c index bb6c675a03c..9aba82bff0a 100644 --- a/oshmem/mca/atomic/mxm/atomic_mxm_cswap.c +++ b/oshmem/mca/atomic/mxm/atomic_mxm_cswap.c @@ -34,8 +34,9 @@ int mca_atomic_mxm_cswap(void *target, mxm_send_req_t sreq; mca_atomic_mxm_req_init(&sreq, pe, target, nlong); + memcpy(prev, value, nlong); - sreq.base.data.buffer.ptr = (void *) value; + sreq.base.data.buffer.ptr = prev; if (NULL == cond) { sreq.opcode = MXM_REQ_OP_ATOMIC_SWAP; } else { @@ -45,8 +46,6 @@ int mca_atomic_mxm_cswap(void *target, mca_atomic_mxm_post(&sreq); - memcpy(prev, value, nlong); - return OSHMEM_SUCCESS; }