rtl8192du: fix build with mac80211-5.8

This commit is contained in:
AmadeusGhost 2020-08-09 22:05:11 +08:00 committed by CN_SZTL
parent 31cc0bb9a1
commit 24b16e508c
No known key found for this signature in database
GPG Key ID: 6850B6345C862176
3 changed files with 55 additions and 39 deletions

View File

@ -7,18 +7,17 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=rtl8192du
PKG_VERSION:=2019-06-01
PKG_VERSION:=2020-06-11
PKG_RELEASE:=1
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://github.com/lwfinger/rtl8192du
PKG_SOURCE_VERSION:=54c95aaa23fe332afaa1ed4aacbb0db43aa3c7dd
PKG_MIRROR_HASH:=9c21ca7b9115de8e711b38c3005fb22af5a9f392f801ac1f2383d82df789e81a
PKG_SOURCE_VERSION:=d6185ff4a242ebf553e9e9980da21591660e8f8c
PKG_MIRROR_HASH:=8d7ca5ea8a6daa07ff9dbd8669337ee8b999fdbfb2a8d7216a2eb4d5601537fd
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.xz
PKG_MAINTAINER:=Javier Marcet <javier@keezel.co>
PKG_LICENSE:=GPLv2
PKG_MAINTAINER:=Larry Finger <Larry.Finger@lwfinger.net>
STAMP_CONFIGURED_DEPENDS := $(STAGING_DIR)/usr/include/mac80211-backport/backport/autoconf.h
@ -26,18 +25,20 @@ include $(INCLUDE_DIR)/kernel.mk
include $(INCLUDE_DIR)/package.mk
NOSTDINC_FLAGS = \
-I$(PKG_BUILD_DIR)/include \
-I$(STAGING_DIR)/usr/include/mac80211-backport/uapi \
-I$(STAGING_DIR)/usr/include/mac80211-backport \
-I$(STAGING_DIR)/usr/include/mac80211/uapi \
-I$(STAGING_DIR)/usr/include/mac80211 \
-include backport/autoconf.h \
-include backport/backport.h
-I$(PKG_BUILD_DIR)/include \
-I$(STAGING_DIR)/usr/include/mac80211-backport/uapi \
-I$(STAGING_DIR)/usr/include/mac80211-backport \
-I$(STAGING_DIR)/usr/include/mac80211/uapi \
-I$(STAGING_DIR)/usr/include/mac80211 \
-include backport/autoconf.h \
-include backport/backport.h
NOSTDINC_FLAGS+=-DCONFIG_IOCTL_CFG80211 -DRTW_USE_CFG80211_STA_EVENT -DCONFIG_CONCURRENT_MODE -DBUILD_OPENWRT
define KernelPackage/rtl8192du
SUBMENU:=Wireless Drivers
TITLE:=Realtek RTL8192DU wireless USB 802.11n driver
DEPENDS:=@USB_SUPPORT +kmod-cfg80211 +kmod-mac80211 +kmod-usb-core +wireless-tools
DEPENDS:=@USB_SUPPORT +kmod-cfg80211 +kmod-mac80211 +kmod-usb-core
FILES:= $(PKG_BUILD_DIR)/8192du.$(LINUX_KMOD_SUFFIX)
# AUTOLOAD:=$(call AutoProbe,8192du)
endef
@ -47,24 +48,24 @@ define KernelPackage/rtl8192du/description
endef
define Build/Compile
+$(MAKE) $(PKG_JOBS) -C $(LINUX_DIR) \
$(KERNEL_MAKE_FLAGS) \
M="$(PKG_BUILD_DIR)" \
CONFIG_RTL8192DU=m \
NOSTDINC_FLAGS="$(NOSTDINC_FLAGS)" \
M="$(PKG_BUILD_DIR)" \
src="$(PKG_BUILD_DIR)" \
TopDIR="$(PKG_BUILD_DIR)" \
modules
+$(MAKE) $(PKG_JOBS) -C $(LINUX_DIR) \
$(KERNEL_MAKE_FLAGS) \
SUBDIRS="$(PKG_BUILD_DIR)" \
CONFIG_RTL8192DU=m \
NOSTDINC_FLAGS="$(NOSTDINC_FLAGS)" \
M="$(PKG_BUILD_DIR)" \
src="$(PKG_BUILD_DIR)" \
TopDIR="$(PKG_BUILD_DIR)" \
modules
endef
define Build/Configure
endef
define KernelPackage/rtl8192du/install
$(INSTALL_DIR) $(1)/lib/firmware/rtlwifi
$(INSTALL_DATA) $(PKG_BUILD_DIR)/rtl8192dufw.bin $(1)/lib/firmware/rtlwifi/
$(INSTALL_DATA) $(PKG_BUILD_DIR)/rtl8192dufw_wol.bin $(1)/lib/firmware/rtlwifi/
$(INSTALL_DIR) $(1)/lib/firmware/rtlwifi
$(INSTALL_DATA) $(PKG_BUILD_DIR)/rtl8192dufw.bin $(1)/lib/firmware/rtlwifi/
$(INSTALL_DATA) $(PKG_BUILD_DIR)/rtl8192dufw_wol.bin $(1)/lib/firmware/rtlwifi/
endef
$(eval $(call KernelPackage,rtl8192du))

View File

@ -1,14 +0,0 @@
diff --git a/core/rtw_br_ext.c b/core/rtw_br_ext.c
index 964b366..ec1c620 100644
--- a/core/rtw_br_ext.c
+++ b/core/rtw_br_ext.c
@@ -51,6 +51,9 @@
#include <linux/icmpv6.h>
#include <net/ndisc.h>
#include <net/checksum.h>
+#ifndef _HAVE_ARCH_IPV6_CSUM
+#include <net/ip6_checksum.h>
+#endif
#endif
#endif

View File

@ -0,0 +1,29 @@
--- a/os_dep/ioctl_cfg80211.c
+++ b/os_dep/ioctl_cfg80211.c
@@ -4941,7 +4941,14 @@ exit:
return ret;
}
-#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 8, 0)
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 8, 0)) || defined(BUILD_OPENWRT)
+static void cfg80211_rtw_update_mgmt_frame_register(struct wiphy *wiphy,
+ struct wireless_dev *wdev,
+ struct mgmt_frame_regs *upd)
+{
+
+}
+#else
static void cfg80211_rtw_mgmt_frame_register(struct wiphy *wiphy,
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 6, 0))
struct wireless_dev *wdev,
@@ -5355,7 +5362,9 @@ static struct cfg80211_ops rtw_cfg80211_ops = {
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37)) || defined(COMPAT_KERNEL_RELEASE)
.mgmt_tx = cfg80211_rtw_mgmt_tx,
-#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 8, 0)
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 8, 0)) || defined(BUILD_OPENWRT)
+ .update_mgmt_frame_registrations = cfg80211_rtw_update_mgmt_frame_register,
+#else
.mgmt_frame_register = cfg80211_rtw_mgmt_frame_register,
#endif
#elif (LINUX_VERSION_CODE>=KERNEL_VERSION(2,6,34) && LINUX_VERSION_CODE<=KERNEL_VERSION(2,6,35))