diff -Naur a/CORE/HDD/src/wlan_hdd_cfg80211.c b/CORE/HDD/src/wlan_hdd_cfg80211.c --- a/CORE/HDD/src/wlan_hdd_cfg80211.c 2020-09-02 08:49:07.000000000 +0100 +++ b/CORE/HDD/src/wlan_hdd_cfg80211.c 2021-03-26 16:56:18.308093022 +0000 @@ -106,7 +106,7 @@ #include "wlan_hdd_mdns_offload.h" #include "wlan_hdd_ocb.h" #include "qwlan_version.h" - +#define WIPHY_FLAG_DFS_OFFLOAD BIT(25) #include "wlan_logging_sock_svc.h" #include "sapApi.h" #include "csrApi.h" @@ -30792,7 +30792,7 @@ return ret; } -#ifdef WLAN_NL80211_TESTMODE +#ifdef WLAN_NL80211_TESTMODE #ifdef FEATURE_WLAN_LPHB void wlan_hdd_cfg80211_lphb_ind_handler ( @@ -30800,7 +30800,9 @@ tSirLPHBInd *lphbInd ) { +#ifdef CONFIG_NL80211_TESTMODE struct sk_buff *skb; +#endif VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_ERROR, "LPHB indication arrived"); @@ -30814,6 +30816,7 @@ return; } +#ifdef CONFIG_NL80211_TESTMODE skb = cfg80211_testmode_alloc_event_skb( ((hdd_context_t *)pHddCtx)->wiphy, sizeof(tSirLPHBInd), @@ -30851,11 +30854,13 @@ VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_ERROR, "NLA Put fail"); kfree_skb(skb); +#endif return; } #endif /* FEATURE_WLAN_LPHB */ +#ifdef CONFIG_NL80211_TESTMODE static int __wlan_hdd_cfg80211_testmode(struct wiphy *wiphy, void *data, int len) { @@ -30983,11 +30988,15 @@ return ret; } +#endif + #if defined(QCA_WIFI_FTM) void wlan_hdd_testmode_rx_event(void *buf, size_t buf_len) { +#ifdef CONFIG_NL80211_TESTMODE struct sk_buff *skb; +#endif hdd_context_t *hdd_ctx; void *vos_global_ctx; @@ -31016,6 +31025,7 @@ return; } +#ifdef CONFIG_NL80211_TESTMODE skb = cfg80211_testmode_alloc_event_skb(hdd_ctx->wiphy, buf_len, GFP_KERNEL); if (!skb) { @@ -31039,6 +31049,7 @@ VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_ERROR, "%s: nla_put failed on testmode rx skb!", __func__); +#endif } #endif #endif /* CONFIG_NL80211_TESTMODE */ @@ -33555,7 +33566,9 @@ .suspend = wlan_hdd_cfg80211_suspend_wlan, .set_mac_acl = wlan_hdd_cfg80211_set_mac_acl, #ifdef WLAN_NL80211_TESTMODE +#ifdef CONFIG_NL80211_TESTMODE .testmode_cmd = wlan_hdd_cfg80211_testmode, +#endif #endif #ifdef QCA_HT_2040_COEX .set_ap_chanwidth = wlan_hdd_cfg80211_set_ap_channel_width, diff -Naur a/CORE/HDD/src/wlan_hdd_tx_rx.c b/CORE/HDD/src/wlan_hdd_tx_rx.c --- a/CORE/HDD/src/wlan_hdd_tx_rx.c 2020-09-02 08:49:07.000000000 +0100 +++ b/CORE/HDD/src/wlan_hdd_tx_rx.c 2021-03-26 16:11:53.367939503 +0000 @@ -1470,7 +1470,7 @@ pHddStaCtx = WLAN_HDD_GET_STATION_CTX_PTR(pAdapter); while (NULL != skb) { skb_next = skb->next; - +#if 0 if (((pHddStaCtx->conn_info.proxyARPService) && cfg80211_is_gratuitous_arp_unsolicited_na(skb)) || vos_is_load_unload_in_progress(VOS_MODULE_ID_VOSS, NULL)) { @@ -1483,7 +1483,7 @@ skb = skb_next; continue; } - +#endif DPTRACE(adf_dp_trace(skb, ADF_DP_TRACE_RX_HDD_PACKET_PTR_RECORD, adf_nbuf_data_addr(skb), diff -Naur a/CORE/SERVICES/WMA/wma.c b/CORE/SERVICES/WMA/wma.c --- a/CORE/SERVICES/WMA/wma.c 2020-09-02 08:49:07.000000000 +0100 +++ b/CORE/SERVICES/WMA/wma.c 2021-03-26 16:11:53.979942770 +0000 @@ -5463,8 +5463,10 @@ * first event must be same as following events. Otherwise these * events may be spoofed. Drop all of them and report error. */ + rs_results = (tSirWifiRadioStat *) &link_stats_results->results[0]; + WMA_LOGE("Invalid following WMI_RADIO_LINK_STATS_EVENTID. Discarding this set"); - rs_results->tx_time_per_power_level = NULL; + //rs_results->tx_time_per_power_level = NULL; vos_mem_free(wma_handle->link_stats_results); wma_handle->link_stats_results = NULL; vos_mem_free(rs_results->tx_time_per_power_level); diff -Naur a/CORE/VOSS/inc/vos_cnss.h b/CORE/VOSS/inc/vos_cnss.h --- a/CORE/VOSS/inc/vos_cnss.h 2020-09-02 08:49:07.000000000 +0100 +++ b/CORE/VOSS/inc/vos_cnss.h 2021-03-26 16:11:54.006942914 +0000 @@ -88,7 +88,7 @@ cancel_delayed_work_sync(dwork); } -#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 19, 80)) +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 4, 0)) static inline void vos_pm_wake_lock_init(vos_wake_lock_t *lock, const char *name) { @@ -138,7 +138,7 @@ * QDF status success: if wake lock is acquired * QDF status failure: if wake lock was not acquired */ -#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 19, 80)) +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 4, 0)) static inline void vos_pm_wake_lock_destroy(vos_wake_lock_t *lock) { wakeup_source_unregister(lock->priv); diff -Naur a/CORE/VOSS/src/vos_nvitem.c b/CORE/VOSS/src/vos_nvitem.c --- a/CORE/VOSS/src/vos_nvitem.c 2020-09-02 08:49:07.000000000 +0100 +++ b/CORE/VOSS/src/vos_nvitem.c 2021-03-26 16:11:54.058943192 +0000 @@ -1543,11 +1543,15 @@ vos_set_cc_source(CNSS_SOURCE_11D); INIT_COMPLETION(pHddCtx->reg_init); +#ifdef CONFIG_REGD_HINT_USER #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0)) || defined(WITH_BACKPORTS) regulatory_hint_user(country_code, NL80211_USER_REG_HINT_USER); #else regulatory_hint_user(country_code); #endif +#else + regulatory_hint(wiphy, country_code); +#endif wait_result = wait_for_completion_interruptible_timeout( &pHddCtx->reg_init, msecs_to_jiffies(REG_WAIT_TIME)); diff -Naur a/Makefile b/Makefile --- a/Makefile 2020-09-02 08:49:07.000000000 +0100 +++ b/Makefile 2021-03-26 16:11:54.081943314 +0000 @@ -1,12 +1,13 @@ KERNEL_SRC ?= /lib/modules/$(shell uname -r)/build -KBUILD_OPTIONS := WLAN_ROOT=$(PWD) +BUILD_ROOT ?=$(PWD) +KBUILD_OPTIONS := WLAN_ROOT=$(BUILD_ROOT) KBUILD_OPTIONS += MODNAME?=wlan # Determine if the driver license is Open source or proprietary # This is determined under the assumption that LICENSE doesn't change. # Please change here if driver license text changes. -LICENSE_FILE ?= $(PWD)/$(WLAN_ROOT)/CORE/HDD/src/wlan_hdd_main.c +LICENSE_FILE ?= $(BUILD_ROOT)/CORE/HDD/src/wlan_hdd_main.c WLAN_OPEN_SOURCE = $(shell if grep -q "MODULE_LICENSE(\"Dual BSD/GPL\")" \ $(LICENSE_FILE); then echo 1; else echo 0; fi)