From cde2dbf6e94e00fcf198422b03de01d3090675d9 Mon Sep 17 00:00:00 2001 From: Jesper Skov Date: Fri, 25 Oct 2019 10:10:29 +0200 Subject: [PATCH] Fix kernel 5.3 driver crashes, from aircrack-ng/rtl8812au#421 [Upstream: https://github.com/abperiasamy/rtl8812AU_8821AU_linux/commit/822b485d36d6f72304a219c3be228f40968b542b.patch] Signed-off-by: Peter Seiderer Signed-off-by: Christian Stewart --- os_dep/linux/rtw_cfgvendor.c | 45 ++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/os_dep/linux/rtw_cfgvendor.c b/os_dep/linux/rtw_cfgvendor.c index e7ba90a..81fc8af 100644 --- a/os_dep/linux/rtw_cfgvendor.c +++ b/os_dep/linux/rtw_cfgvendor.c @@ -1173,6 +1173,9 @@ static const struct wiphy_vendor_command rtw_vendor_cmds [] = { .subcmd = BRCM_VENDOR_SCMD_PRIV_STR }, .flags = WIPHY_VENDOR_CMD_NEED_WDEV | WIPHY_VENDOR_CMD_NEED_NETDEV, +#if LINUX_VERSION_CODE >= KERNEL_VERSION(5,3,0) + .policy = VENDOR_CMD_RAW_DATA, +#endif .doit = wl_cfgvendor_priv_string_handler }, #if defined(GSCAN_SUPPORT) && 0 @@ -1182,6 +1185,9 @@ static const struct wiphy_vendor_command rtw_vendor_cmds [] = { .subcmd = GSCAN_SUBCMD_GET_CAPABILITIES }, .flags = WIPHY_VENDOR_CMD_NEED_WDEV | WIPHY_VENDOR_CMD_NEED_NETDEV, +#if LINUX_VERSION_CODE >= KERNEL_VERSION(5,3,0) + .policy = VENDOR_CMD_RAW_DATA, +#endif .doit = wl_cfgvendor_gscan_get_capabilities }, { @@ -1190,6 +1196,9 @@ static const struct wiphy_vendor_command rtw_vendor_cmds [] = { .subcmd = GSCAN_SUBCMD_SET_CONFIG }, .flags = WIPHY_VENDOR_CMD_NEED_WDEV | WIPHY_VENDOR_CMD_NEED_NETDEV, +#if LINUX_VERSION_CODE >= KERNEL_VERSION(5,3,0) + .policy = VENDOR_CMD_RAW_DATA, +#endif .doit = wl_cfgvendor_set_scan_cfg }, { @@ -1198,6 +1207,9 @@ static const struct wiphy_vendor_command rtw_vendor_cmds [] = { .subcmd = GSCAN_SUBCMD_SET_SCAN_CONFIG }, .flags = WIPHY_VENDOR_CMD_NEED_WDEV | WIPHY_VENDOR_CMD_NEED_NETDEV, +#if LINUX_VERSION_CODE >= KERNEL_VERSION(5,3,0) + .policy = VENDOR_CMD_RAW_DATA, +#endif .doit = wl_cfgvendor_set_batch_scan_cfg }, { @@ -1206,6 +1218,9 @@ static const struct wiphy_vendor_command rtw_vendor_cmds [] = { .subcmd = GSCAN_SUBCMD_ENABLE_GSCAN }, .flags = WIPHY_VENDOR_CMD_NEED_WDEV | WIPHY_VENDOR_CMD_NEED_NETDEV, +#if LINUX_VERSION_CODE >= KERNEL_VERSION(5,3,0) + .policy = VENDOR_CMD_RAW_DATA, +#endif .doit = wl_cfgvendor_initiate_gscan }, { @@ -1214,6 +1229,9 @@ static const struct wiphy_vendor_command rtw_vendor_cmds [] = { .subcmd = GSCAN_SUBCMD_ENABLE_FULL_SCAN_RESULTS }, .flags = WIPHY_VENDOR_CMD_NEED_WDEV | WIPHY_VENDOR_CMD_NEED_NETDEV, +#if LINUX_VERSION_CODE >= KERNEL_VERSION(5,3,0) + .policy = VENDOR_CMD_RAW_DATA, +#endif .doit = wl_cfgvendor_enable_full_scan_result }, { @@ -1222,6 +1240,9 @@ static const struct wiphy_vendor_command rtw_vendor_cmds [] = { .subcmd = GSCAN_SUBCMD_SET_HOTLIST }, .flags = WIPHY_VENDOR_CMD_NEED_WDEV | WIPHY_VENDOR_CMD_NEED_NETDEV, +#if LINUX_VERSION_CODE >= KERNEL_VERSION(5,3,0) + .policy = VENDOR_CMD_RAW_DATA, +#endif .doit = wl_cfgvendor_hotlist_cfg }, { @@ -1230,6 +1251,9 @@ static const struct wiphy_vendor_command rtw_vendor_cmds [] = { .subcmd = GSCAN_SUBCMD_SET_SIGNIFICANT_CHANGE_CONFIG }, .flags = WIPHY_VENDOR_CMD_NEED_WDEV | WIPHY_VENDOR_CMD_NEED_NETDEV, +#if LINUX_VERSION_CODE >= KERNEL_VERSION(5,3,0) + .policy = VENDOR_CMD_RAW_DATA, +#endif .doit = wl_cfgvendor_significant_change_cfg }, { @@ -1238,6 +1262,9 @@ static const struct wiphy_vendor_command rtw_vendor_cmds [] = { .subcmd = GSCAN_SUBCMD_GET_SCAN_RESULTS }, .flags = WIPHY_VENDOR_CMD_NEED_WDEV | WIPHY_VENDOR_CMD_NEED_NETDEV, +#if LINUX_VERSION_CODE >= KERNEL_VERSION(5,3,0) + .policy = VENDOR_CMD_RAW_DATA, +#endif .doit = wl_cfgvendor_gscan_get_batch_results }, { @@ -1246,6 +1273,9 @@ static const struct wiphy_vendor_command rtw_vendor_cmds [] = { .subcmd = GSCAN_SUBCMD_GET_CHANNEL_LIST }, .flags = WIPHY_VENDOR_CMD_NEED_WDEV | WIPHY_VENDOR_CMD_NEED_NETDEV, +#if LINUX_VERSION_CODE >= KERNEL_VERSION(5,3,0) + .policy = VENDOR_CMD_RAW_DATA, +#endif .doit = wl_cfgvendor_gscan_get_channel_list }, #endif /* GSCAN_SUPPORT */ @@ -1256,6 +1286,9 @@ static const struct wiphy_vendor_command rtw_vendor_cmds [] = { .subcmd = RTT_SUBCMD_SET_CONFIG }, .flags = WIPHY_VENDOR_CMD_NEED_WDEV | WIPHY_VENDOR_CMD_NEED_NETDEV, +#if LINUX_VERSION_CODE >= KERNEL_VERSION(5,3,0) + .policy = VENDOR_CMD_RAW_DATA, +#endif .doit = wl_cfgvendor_rtt_set_config }, { @@ -1264,6 +1297,9 @@ static const struct wiphy_vendor_command rtw_vendor_cmds [] = { .subcmd = RTT_SUBCMD_CANCEL_CONFIG }, .flags = WIPHY_VENDOR_CMD_NEED_WDEV | WIPHY_VENDOR_CMD_NEED_NETDEV, +#if LINUX_VERSION_CODE >= KERNEL_VERSION(5,3,0) + .policy = VENDOR_CMD_RAW_DATA, +#endif .doit = wl_cfgvendor_rtt_cancel_config }, { @@ -1272,6 +1308,9 @@ static const struct wiphy_vendor_command rtw_vendor_cmds [] = { .subcmd = RTT_SUBCMD_GETCAPABILITY }, .flags = WIPHY_VENDOR_CMD_NEED_WDEV | WIPHY_VENDOR_CMD_NEED_NETDEV, +#if LINUX_VERSION_CODE >= KERNEL_VERSION(5,3,0) + .policy = VENDOR_CMD_RAW_DATA, +#endif .doit = wl_cfgvendor_rtt_get_capability }, #endif /* RTT_SUPPORT */ @@ -1281,6 +1320,9 @@ static const struct wiphy_vendor_command rtw_vendor_cmds [] = { .subcmd = ANDR_WIFI_SUBCMD_GET_FEATURE_SET }, .flags = WIPHY_VENDOR_CMD_NEED_WDEV | WIPHY_VENDOR_CMD_NEED_NETDEV, +#if LINUX_VERSION_CODE >= KERNEL_VERSION(5,3,0) + .policy = VENDOR_CMD_RAW_DATA, +#endif .doit = rtw_cfgvendor_get_feature_set }, { @@ -1289,6 +1331,9 @@ static const struct wiphy_vendor_command rtw_vendor_cmds [] = { .subcmd = ANDR_WIFI_SUBCMD_GET_FEATURE_SET_MATRIX }, .flags = WIPHY_VENDOR_CMD_NEED_WDEV | WIPHY_VENDOR_CMD_NEED_NETDEV, +#if LINUX_VERSION_CODE >= KERNEL_VERSION(5,3,0) + .policy = VENDOR_CMD_RAW_DATA, +#endif .doit = rtw_cfgvendor_get_feature_set_matrix } }; -- 2.28.0