From e9a10339bfc47841ccc13c986142cfc21517ba3a 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. cherry-picked from commit 15d5e2937af4b8509c115741b10d19b296c539f8 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; }