rtl8188eu: fix build on kernel 4.9

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
This commit is contained in:
Tianling Shen 2022-05-27 16:33:15 +08:00
parent f0522b7b59
commit ce30363cd9
No known key found for this signature in database
GPG Key ID: 6850B6345C862176
2 changed files with 73 additions and 6 deletions

View File

@ -1,14 +1,11 @@
# SPDX-License-Identifier: GPL-3.0-only
#
# Copyright (C) 2021 ImmortalWrt
#
# This is free software, licensed under the GNU General Public License v3.
# See /LICENSE for more information.
#
# Copyright (C) 2021-2022 ImmortalWrt.org
include $(TOPDIR)/rules.mk
PKG_NAME:=rtl8188eu
PKG_RELEASE:=1
PKG_RELEASE:=$(AUTORELEASE)
PKG_SOURCE_URL:=https://github.com/aircrack-ng/rtl8188eus.git
PKG_SOURCE_PROTO:=git

View File

@ -0,0 +1,70 @@
diff --git a/os_dep/linux/ioctl_cfg80211.c b/os_dep/linux/ioctl_cfg80211.c
index fb8a2cf..b4924f6 100644
--- a/os_dep/linux/ioctl_cfg80211.c
+++ b/os_dep/linux/ioctl_cfg80211.c
@@ -1022,7 +1022,7 @@ void rtw_cfg80211_indicate_connect(_adapter *padapter)
#endif
struct cfg80211_bss *bss = NULL;
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0)
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0) || LINUX_VERSION_IN_RANGE(4, 9, 255, 4, 10 ,0)
struct cfg80211_roam_info roam_info ={};
#endif
@@ -1090,7 +1090,7 @@ check_bss:
struct ieee80211_channel *notify_channel;
u32 freq;
u16 channel = cur_network->network.Configuration.DSConfig;
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0))
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0)) || LINUX_VERSION_IN_RANGE(4, 9, 255, 4, 10, 0)
struct cfg80211_roam_info roam_info;
#endif
@@ -1098,7 +1098,7 @@ check_bss:
notify_channel = ieee80211_get_channel(wiphy, freq);
#endif
- #if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0)
+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0) || LINUX_VERSION_IN_RANGE(4, 9, 255, 4, 10, 0)
roam_info.bssid = cur_network->network.MacAddress;
roam_info.req_ie = pmlmepriv->assoc_req + sizeof(struct rtw_ieee80211_hdr_3addr) + 2;
roam_info.req_ie_len = pmlmepriv->assoc_req_len - sizeof(struct rtw_ieee80211_hdr_3addr) - 2;
@@ -1117,7 +1117,7 @@ check_bss:
, pmlmepriv->assoc_rsp + sizeof(struct rtw_ieee80211_hdr_3addr) + 6
, pmlmepriv->assoc_rsp_len - sizeof(struct rtw_ieee80211_hdr_3addr) - 6
, GFP_ATOMIC);
- #endif /*LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0)*/
+ #endif /*LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0) || LINUX_VERSION_IN_RANGE(4, 9, 255, 4, 10, 0)*/
RTW_INFO(FUNC_ADPT_FMT" call cfg80211_roamed\n", FUNC_ADPT_ARG(padapter));
@@ -2292,7 +2292,8 @@ enum nl80211_iftype {
static int cfg80211_rtw_change_iface(struct wiphy *wiphy,
struct net_device *ndev,
enum nl80211_iftype type,
-#if (LINUX_VERSION_CODE < KERNEL_VERSION(4, 12, 0))
+#if (LINUX_VERSION_CODE < KERNEL_VERSION(4, 12, 0)) && \
+ !LINUX_VERSION_IN_RANGE(4, 9, 255, 4, 10, 0)
u32 *flags,
#endif
struct vif_params *params)
@@ -4537,7 +4538,8 @@ static int
unsigned char name_assign_type,
#endif
enum nl80211_iftype type,
- #if (LINUX_VERSION_CODE < KERNEL_VERSION(4, 12, 0))
+ #if (LINUX_VERSION_CODE < KERNEL_VERSION(4, 12, 0)) && \
+ !LINUX_VERSION_IN_RANGE(4, 9, 255, 4, 10, 0)
u32 *flags,
#endif
struct vif_params *params)
@@ -9146,7 +9148,8 @@ static void rtw_cfg80211_preinit_wiphy(_adapter *adapter, struct wiphy *wiphy)
#endif
#if defined(CONFIG_PM) && (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 0, 0) && \
- LINUX_VERSION_CODE < KERNEL_VERSION(4, 12, 0))
+ LINUX_VERSION_CODE < KERNEL_VERSION(4, 12, 0)) && \
+ !LINUX_VERSION_IN_RANGE(4, 9, 255, 4, 10, 0)
wiphy->flags |= WIPHY_FLAG_SUPPORTS_SCHED_SCAN;
#ifdef CONFIG_PNO_SUPPORT
wiphy->max_sched_scan_ssids = MAX_PNO_LIST_COUNT;