From 397faa6e7ce5c9241f03578a1f155da1842fafa5 Mon Sep 17 00:00:00 2001 From: Hauke Mehrtens Date: Sun, 18 Aug 2019 13:58:21 +0200 Subject: [PATCH] rtl8812au-ct: Add vendor command policy Fixes: 928e893a11db ("mac80211: Update to version 5.3-rc4-1") Signed-off-by: Hauke Mehrtens --- package/kernel/rtl8812au-ct/Makefile | 2 +- .../patches/002-vendor_command_policy.patch | 156 ++++++++++++++++++ 2 files changed, 157 insertions(+), 1 deletion(-) create mode 100644 package/kernel/rtl8812au-ct/patches/002-vendor_command_policy.patch diff --git a/package/kernel/rtl8812au-ct/Makefile b/package/kernel/rtl8812au-ct/Makefile index 5c70dbd1e7..c68ae499d4 100644 --- a/package/kernel/rtl8812au-ct/Makefile +++ b/package/kernel/rtl8812au-ct/Makefile @@ -1,7 +1,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=rtl8812au-ct -PKG_RELEASE=1 +PKG_RELEASE=2 PKG_LICENSE:=GPLv2 PKG_LICENSE_FILES:= diff --git a/package/kernel/rtl8812au-ct/patches/002-vendor_command_policy.patch b/package/kernel/rtl8812au-ct/patches/002-vendor_command_policy.patch new file mode 100644 index 0000000000..0b56ed6e59 --- /dev/null +++ b/package/kernel/rtl8812au-ct/patches/002-vendor_command_policy.patch @@ -0,0 +1,156 @@ +mac80211 from kernel 5.3 and later checks the new policy attribute. +As this driver does not define any policies and does strange things, +just tell mac80211 to ignore the policies. + +--- a/os_dep/linux/rtw_cfgvendor.c ++++ b/os_dep/linux/rtw_cfgvendor.c +@@ -1173,7 +1173,8 @@ static const struct wiphy_vendor_command + .subcmd = BRCM_VENDOR_SCMD_PRIV_STR + }, + .flags = WIPHY_VENDOR_CMD_NEED_WDEV | WIPHY_VENDOR_CMD_NEED_NETDEV, +- .doit = wl_cfgvendor_priv_string_handler ++ .doit = wl_cfgvendor_priv_string_handler, ++ .policy = VENDOR_CMD_RAW_DATA, + }, + #if defined(GSCAN_SUPPORT) && 0 + { +@@ -1182,7 +1183,8 @@ static const struct wiphy_vendor_command + .subcmd = GSCAN_SUBCMD_GET_CAPABILITIES + }, + .flags = WIPHY_VENDOR_CMD_NEED_WDEV | WIPHY_VENDOR_CMD_NEED_NETDEV, +- .doit = wl_cfgvendor_gscan_get_capabilities ++ .doit = wl_cfgvendor_gscan_get_capabilities, ++ .policy = VENDOR_CMD_RAW_DATA, + }, + { + { +@@ -1190,7 +1192,8 @@ static const struct wiphy_vendor_command + .subcmd = GSCAN_SUBCMD_SET_CONFIG + }, + .flags = WIPHY_VENDOR_CMD_NEED_WDEV | WIPHY_VENDOR_CMD_NEED_NETDEV, +- .doit = wl_cfgvendor_set_scan_cfg ++ .doit = wl_cfgvendor_set_scan_cfg, ++ .policy = VENDOR_CMD_RAW_DATA, + }, + { + { +@@ -1198,7 +1201,8 @@ static const struct wiphy_vendor_command + .subcmd = GSCAN_SUBCMD_SET_SCAN_CONFIG + }, + .flags = WIPHY_VENDOR_CMD_NEED_WDEV | WIPHY_VENDOR_CMD_NEED_NETDEV, +- .doit = wl_cfgvendor_set_batch_scan_cfg ++ .doit = wl_cfgvendor_set_batch_scan_cfg, ++ .policy = VENDOR_CMD_RAW_DATA, + }, + { + { +@@ -1206,7 +1210,8 @@ static const struct wiphy_vendor_command + .subcmd = GSCAN_SUBCMD_ENABLE_GSCAN + }, + .flags = WIPHY_VENDOR_CMD_NEED_WDEV | WIPHY_VENDOR_CMD_NEED_NETDEV, +- .doit = wl_cfgvendor_initiate_gscan ++ .doit = wl_cfgvendor_initiate_gscan, ++ .policy = VENDOR_CMD_RAW_DATA, + }, + { + { +@@ -1214,7 +1219,8 @@ static const struct wiphy_vendor_command + .subcmd = GSCAN_SUBCMD_ENABLE_FULL_SCAN_RESULTS + }, + .flags = WIPHY_VENDOR_CMD_NEED_WDEV | WIPHY_VENDOR_CMD_NEED_NETDEV, +- .doit = wl_cfgvendor_enable_full_scan_result ++ .doit = wl_cfgvendor_enable_full_scan_result, ++ .policy = VENDOR_CMD_RAW_DATA, + }, + { + { +@@ -1222,7 +1228,8 @@ static const struct wiphy_vendor_command + .subcmd = GSCAN_SUBCMD_SET_HOTLIST + }, + .flags = WIPHY_VENDOR_CMD_NEED_WDEV | WIPHY_VENDOR_CMD_NEED_NETDEV, +- .doit = wl_cfgvendor_hotlist_cfg ++ .doit = wl_cfgvendor_hotlist_cfg, ++ .policy = VENDOR_CMD_RAW_DATA, + }, + { + { +@@ -1230,7 +1237,8 @@ static const struct wiphy_vendor_command + .subcmd = GSCAN_SUBCMD_SET_SIGNIFICANT_CHANGE_CONFIG + }, + .flags = WIPHY_VENDOR_CMD_NEED_WDEV | WIPHY_VENDOR_CMD_NEED_NETDEV, +- .doit = wl_cfgvendor_significant_change_cfg ++ .doit = wl_cfgvendor_significant_change_cfg, ++ .policy = VENDOR_CMD_RAW_DATA, + }, + { + { +@@ -1238,7 +1246,8 @@ static const struct wiphy_vendor_command + .subcmd = GSCAN_SUBCMD_GET_SCAN_RESULTS + }, + .flags = WIPHY_VENDOR_CMD_NEED_WDEV | WIPHY_VENDOR_CMD_NEED_NETDEV, +- .doit = wl_cfgvendor_gscan_get_batch_results ++ .doit = wl_cfgvendor_gscan_get_batch_results, ++ .policy = VENDOR_CMD_RAW_DATA, + }, + { + { +@@ -1246,7 +1255,8 @@ static const struct wiphy_vendor_command + .subcmd = GSCAN_SUBCMD_GET_CHANNEL_LIST + }, + .flags = WIPHY_VENDOR_CMD_NEED_WDEV | WIPHY_VENDOR_CMD_NEED_NETDEV, +- .doit = wl_cfgvendor_gscan_get_channel_list ++ .doit = wl_cfgvendor_gscan_get_channel_list, ++ .policy = VENDOR_CMD_RAW_DATA, + }, + #endif /* GSCAN_SUPPORT */ + #if defined(RTT_SUPPORT) && 0 +@@ -1256,7 +1266,8 @@ static const struct wiphy_vendor_command + .subcmd = RTT_SUBCMD_SET_CONFIG + }, + .flags = WIPHY_VENDOR_CMD_NEED_WDEV | WIPHY_VENDOR_CMD_NEED_NETDEV, +- .doit = wl_cfgvendor_rtt_set_config ++ .doit = wl_cfgvendor_rtt_set_config, ++ .policy = VENDOR_CMD_RAW_DATA, + }, + { + { +@@ -1264,7 +1275,8 @@ static const struct wiphy_vendor_command + .subcmd = RTT_SUBCMD_CANCEL_CONFIG + }, + .flags = WIPHY_VENDOR_CMD_NEED_WDEV | WIPHY_VENDOR_CMD_NEED_NETDEV, +- .doit = wl_cfgvendor_rtt_cancel_config ++ .doit = wl_cfgvendor_rtt_cancel_config, ++ .policy = VENDOR_CMD_RAW_DATA, + }, + { + { +@@ -1272,7 +1284,8 @@ static const struct wiphy_vendor_command + .subcmd = RTT_SUBCMD_GETCAPABILITY + }, + .flags = WIPHY_VENDOR_CMD_NEED_WDEV | WIPHY_VENDOR_CMD_NEED_NETDEV, +- .doit = wl_cfgvendor_rtt_get_capability ++ .doit = wl_cfgvendor_rtt_get_capability, ++ .policy = VENDOR_CMD_RAW_DATA, + }, + #endif /* RTT_SUPPORT */ + { +@@ -1281,7 +1294,8 @@ static const struct wiphy_vendor_command + .subcmd = ANDR_WIFI_SUBCMD_GET_FEATURE_SET + }, + .flags = WIPHY_VENDOR_CMD_NEED_WDEV | WIPHY_VENDOR_CMD_NEED_NETDEV, +- .doit = rtw_cfgvendor_get_feature_set ++ .doit = rtw_cfgvendor_get_feature_set, ++ .policy = VENDOR_CMD_RAW_DATA, + }, + { + { +@@ -1289,7 +1303,8 @@ static const struct wiphy_vendor_command + .subcmd = ANDR_WIFI_SUBCMD_GET_FEATURE_SET_MATRIX + }, + .flags = WIPHY_VENDOR_CMD_NEED_WDEV | WIPHY_VENDOR_CMD_NEED_NETDEV, +- .doit = rtw_cfgvendor_get_feature_set_matrix ++ .doit = rtw_cfgvendor_get_feature_set_matrix, ++ .policy = VENDOR_CMD_RAW_DATA, + } + }; +