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