diff --git a/debian/patches/Fix-build-for-linux-kernel-5.17.patch b/debian/patches/Fix-build-for-linux-kernel-5.17.patch
new file mode 100644
index 0000000..f3a6c18
--- /dev/null
+++ b/debian/patches/Fix-build-for-linux-kernel-5.17.patch
@@ -0,0 +1,37 @@
+From: Sophie Brun <sophie@offensive-security.com>
+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));
diff --git a/debian/patches/series b/debian/patches/series
index 6e3040b..0d23d6a 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1 +1,2 @@
 add-support-kernel-5.17.patch
+Fix-build-for-linux-kernel-5.17.patch