ieee802154: fix byteorder issues

This patch fix byteorder issues which occurs because we compare __le64
with an host byteorder value. Simple add a cpu_to_le64 to convert the
host byteorder values to __le64.

Signed-off-by: Alexander Aring <alex.aring@gmail.com>
Reported-by: Marcel Holtmann <marcel@holtmann.org>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
This commit is contained in:
Alexander Aring 2014-11-02 21:43:02 +01:00 committed by Marcel Holtmann
parent a4164eb4dd
commit c28bee84c5
1 changed files with 3 additions and 2 deletions

View File

@ -24,6 +24,7 @@
#define LINUX_IEEE802154_H #define LINUX_IEEE802154_H
#include <linux/types.h> #include <linux/types.h>
#include <asm/byteorder.h>
#define IEEE802154_MTU 127 #define IEEE802154_MTU 127
#define IEEE802154_MIN_PSDU_LEN 5 #define IEEE802154_MIN_PSDU_LEN 5
@ -208,8 +209,8 @@ static inline bool ieee802154_is_valid_extended_addr(const __le64 addr)
* This is currently a workaround because neighbor discovery can't * This is currently a workaround because neighbor discovery can't
* deal with short addresses types right now. * deal with short addresses types right now.
*/ */
return ((addr != 0x0000000000000000ULL) || return ((addr != cpu_to_le64(0x0000000000000000ULL)) ||
(addr != 0xffffffffffffffffULL)); (addr != cpu_to_le64(0xffffffffffffffffULL)));
} }
#endif /* LINUX_IEEE802154_H */ #endif /* LINUX_IEEE802154_H */