--- /dev/null
+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,
+ }
+ };
+