From b044e83a44a9eed99b3c75c46d4e23b6ad2e874d Mon Sep 17 00:00:00 2001 From: Koen Zandberg <koen@bergzand.net> Date: Sat, 1 Dec 2018 17:47:32 +0100 Subject: [PATCH] kw2xrf: Change long address get to big endian This change ensures that the endianess returned by the get_addr_long is consistent with the endianess of the get_addr_short --- drivers/kw2xrf/kw2xrf_getset.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/kw2xrf/kw2xrf_getset.c b/drivers/kw2xrf/kw2xrf_getset.c index cd4a4c101f..3aad766e51 100644 --- a/drivers/kw2xrf/kw2xrf_getset.c +++ b/drivers/kw2xrf/kw2xrf_getset.c @@ -25,6 +25,7 @@ #include "kw2xrf_reg.h" #include "kw2xrf_getset.h" #include "kw2xrf_intern.h" +#include "byteorder.h" #define ENABLE_DEBUG (0) #include "debug.h" @@ -303,7 +304,8 @@ uint64_t kw2xrf_get_addr_long(kw2xrf_t *dev) kw2xrf_read_iregs(dev, MKW2XDMI_MACLONGADDRS0_0, ap, IEEE802154_LONG_ADDRESS_LEN); - return addr; + /* Address is always read as little endian and API specifies big endian */ + return byteorder_swapll(addr); } int8_t kw2xrf_get_cca_threshold(kw2xrf_t *dev) -- GitLab