rtl8812au-ct: Add vendor command policy
authorHauke Mehrtens <hauke@hauke-m.de>
Sun, 18 Aug 2019 11:58:21 +0000 (13:58 +0200)
committerHauke Mehrtens <hauke@hauke-m.de>
Sun, 18 Aug 2019 12:06:24 +0000 (14:06 +0200)
Fixes: 928e893a11db ("mac80211: Update to version 5.3-rc4-1")
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
package/kernel/rtl8812au-ct/Makefile
package/kernel/rtl8812au-ct/patches/002-vendor_command_policy.patch [new file with mode: 0644]

index 5c70dbd1e7f618cdb95c0f8e7814486740c322d9..c68ae499d46658ad6c09a76e2d365bc3aab84ebe 100644 (file)
@@ -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 (file)
index 0000000..0b56ed6
--- /dev/null
@@ -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,
+       }
+ };