From ce30363cd91acf99dcd9925def9415c7bb7115e6 Mon Sep 17 00:00:00 2001 From: Tianling Shen Date: Fri, 27 May 2022 16:33:15 +0800 Subject: [PATCH] rtl8188eu: fix build on kernel 4.9 Signed-off-by: Tianling Shen --- package/kernel/rtl8188eu/Makefile | 9 +-- .../patches/030-fix-build-newer-k4.9.patch | 70 +++++++++++++++++++ 2 files changed, 73 insertions(+), 6 deletions(-) create mode 100644 package/kernel/rtl8188eu/patches/030-fix-build-newer-k4.9.patch diff --git a/package/kernel/rtl8188eu/Makefile b/package/kernel/rtl8188eu/Makefile index 05b6722b1e..fce85be0d7 100644 --- a/package/kernel/rtl8188eu/Makefile +++ b/package/kernel/rtl8188eu/Makefile @@ -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 diff --git a/package/kernel/rtl8188eu/patches/030-fix-build-newer-k4.9.patch b/package/kernel/rtl8188eu/patches/030-fix-build-newer-k4.9.patch new file mode 100644 index 0000000000..5f8168065b --- /dev/null +++ b/package/kernel/rtl8188eu/patches/030-fix-build-newer-k4.9.patch @@ -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;