[dpdk-dev] [PATCH] eal: fix link status issue on ppc_64

David Christensen drc at linux.vnet.ibm.com
Tue Oct 15 01:07:45 CEST 2019


The rte_atomic64_exchange operation for ppc_64 incorrectly linked
back to a 32 bit generic operation (__atomic_exchange_4) rather than
the 64 bit generic operation (__atomic_exchange_8).  As a result,
only the link speed was passed to the application, not the link
state, link duplex, on link autoneg properties.

Fixes: ff2863570f ("eal: introduce atomic exchange operation")
Cc: sthemmin at microsoft.com"
Cc: stable at dpdk.org

Signed-off-by: David Christensen <drc at linux.vnet.ibm.com>
---
 lib/librte_eal/common/include/arch/ppc_64/rte_atomic.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/librte_eal/common/include/arch/ppc_64/rte_atomic.h b/lib/librte_eal/common/include/arch/ppc_64/rte_atomic.h
index b13a80de4..7e3e13118 100644
--- a/lib/librte_eal/common/include/arch/ppc_64/rte_atomic.h
+++ b/lib/librte_eal/common/include/arch/ppc_64/rte_atomic.h
@@ -401,7 +401,7 @@ static inline void rte_atomic64_clear(rte_atomic64_t *v)
 static inline uint64_t
 rte_atomic64_exchange(volatile uint64_t *dst, uint64_t val)
 {
-	return __atomic_exchange_4(dst, val, __ATOMIC_SEQ_CST);
+	return __atomic_exchange_8(dst, val, __ATOMIC_SEQ_CST);
 }
 
 #endif
-- 
2.18.1



More information about the dev mailing list