From: Sophie Brun Date: Tue, 21 Jun 2022 12:15:03 +0200 Subject: Fix build for linux kernel >= 5.17 Origin: https://github.com/aircrack-ng/rtl8188eus/commit/0f1905259ec9b85fd1453be3abd322ff543e12bc --- include/ieee80211.h | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/include/ieee80211.h b/include/ieee80211.h index 5ba92b5..ace221c 100644 --- a/include/ieee80211.h +++ b/include/ieee80211.h @@ -1529,18 +1529,20 @@ enum ieee80211_state { (((Addr[2]) & 0xff) == 0xff) && (((Addr[3]) & 0xff) == 0xff) && (((Addr[4]) & 0xff) == 0xff) && \ (((Addr[5]) & 0xff) == 0xff)) #else -extern __inline int is_multicast_mac_addr(const u8 *addr) + +// I don't know what happened. I think the compiler just got crazy after kernel 5.18+. Normally it have a 'extern' at the beginning. +__inline int is_multicast_mac_addr(const u8 *addr) { return (addr[0] != 0xff) && (0x01 & addr[0]); } -extern __inline int is_broadcast_mac_addr(const u8 *addr) +__inline int is_broadcast_mac_addr(const u8 *addr) { return ((addr[0] == 0xff) && (addr[1] == 0xff) && (addr[2] == 0xff) && \ (addr[3] == 0xff) && (addr[4] == 0xff) && (addr[5] == 0xff)); } -extern __inline int is_zero_mac_addr(const u8 *addr) +__inline int is_zero_mac_addr(const u8 *addr) { return ((addr[0] == 0x00) && (addr[1] == 0x00) && (addr[2] == 0x00) && \ (addr[3] == 0x00) && (addr[4] == 0x00) && (addr[5] == 0x00));