CORE: upgrade CLD LEA2.0 to support kernel v4.14

Upgrade CLD LEA2.0 to support kernel v4.14.34.
- don't support hotcpu notifier for vos schduler.

Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
diff --git a/CORE/HDD/src/wlan_hdd_assoc.c b/CORE/HDD/src/wlan_hdd_assoc.c
index 9818d79..dda8a94 100644
--- a/CORE/HDD/src/wlan_hdd_assoc.c
+++ b/CORE/HDD/src/wlan_hdd_assoc.c
@@ -762,8 +762,8 @@
 	adf_os_mem_zero(hdd_vht_ops, sizeof(struct ieee80211_vht_operation));
 
 	hdd_vht_ops->chan_width = roam_vht_ops->chanWidth;
-	hdd_vht_ops->center_freq_seg1_idx = roam_vht_ops->chanCenterFreqSeg1;
-	hdd_vht_ops->center_freq_seg2_idx = roam_vht_ops->chanCenterFreqSeg2;
+	hdd_vht_ops->center_freq_seg0_idx = roam_vht_ops->chanCenterFreqSeg1;
+	hdd_vht_ops->center_freq_seg1_idx = roam_vht_ops->chanCenterFreqSeg2;
 	hdd_vht_ops->basic_mcs_set = roam_vht_ops->basicMCSSet;
 }
 
@@ -2070,6 +2070,7 @@
     uint8_t *buf_ptr, ssid_ie_len;
     struct cfg80211_bss *bss = NULL;
     uint8_t *final_req_ie = NULL;
+    struct cfg80211_roam_info roam_info;
     tCsrRoamConnectedProfile roam_profile;
     tHalHandle hal_handle = WLAN_HDD_GET_HAL_CTX(pAdapter);
 
@@ -2147,9 +2148,13 @@
     hddLog(LOG2, FL("Req RSN IE:"));
     VOS_TRACE_HEX_DUMP(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_DEBUG,
        final_req_ie, (ssid_ie_len +reqRsnLength));
-    cfg80211_roamed_bss(dev, bss,
-       final_req_ie, (ssid_ie_len + reqRsnLength),
-       rspRsnIe, rspRsnLength, GFP_KERNEL);
+
+    roam_info.bss = bss;
+    roam_info.req_ie = final_req_ie;
+    roam_info.req_ie_len = (ssid_ie_len + reqRsnLength);
+    roam_info.resp_ie = rspRsnIe;
+    roam_info.resp_ie_len = rspRsnLength;
+    cfg80211_roamed(dev, &roam_info, GFP_KERNEL);
 
     hdd_send_roam_auth_event(pHddCtx, pCsrRoamInfo->bssid,
                     reqRsnIe, reqRsnLength, rspRsnIe,
@@ -2553,6 +2558,7 @@
                     if ( !hddDisconInProgress )
                     {
                         struct cfg80211_bss *roam_bss;
+			struct cfg80211_roam_info roam_info;
 
                         /* After roaming is completed, active session count is
                          * incremented as a part of connect indication but
@@ -2577,10 +2583,13 @@
                                pConnectedProfile->SSID.ssId,
                                pRoamInfo->u.
                                pConnectedProfile->SSID.length);
-                        cfg80211_roamed_bss(dev, roam_bss,
-                               pFTAssocReq, assocReqlen,
-                               pFTAssocRsp, assocRsplen,
-                               GFP_KERNEL);
+
+			roam_info.bss = roam_bss;
+			roam_info.req_ie = pFTAssocReq;
+			roam_info.req_ie_len = assocReqlen;
+			roam_info.resp_ie = pFTAssocRsp;
+			roam_info.resp_ie_len = assocRsplen;
+			cfg80211_roamed(dev, &roam_info, GFP_KERNEL);
                     }
                     if (sme_GetFTPTKState(WLAN_HDD_GET_HAL_CTX(pAdapter),
                                           pAdapter->sessionId))
diff --git a/CORE/HDD/src/wlan_hdd_cfg80211.c b/CORE/HDD/src/wlan_hdd_cfg80211.c
index 50d5ae0..b1d2647 100644
--- a/CORE/HDD/src/wlan_hdd_cfg80211.c
+++ b/CORE/HDD/src/wlan_hdd_cfg80211.c
@@ -1740,7 +1740,7 @@
 
     if (nla_parse(tb, QCA_WLAN_VENDOR_ATTR_SET_SCANNING_MAC_OUI_MAX,
                     data, data_len,
-                    NULL)) {
+                    NULL, NULL)) {
         hddLog(LOGE, FL("Invalid ATTR"));
         return -EINVAL;
     }
@@ -1857,7 +1857,7 @@
         return ret;
 
     if (nla_parse(tb, MAX_CONCURRENT_MATRIX,
-                  data, data_len, wlan_hdd_get_concurrency_matrix_policy)) {
+                  data, data_len, wlan_hdd_get_concurrency_matrix_policy, NULL)) {
         hddLog(LOGE, FL("Invalid ATTR"));
         return -EINVAL;
     }
@@ -2010,7 +2010,7 @@
 
 	if (nla_parse(tb, QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_MAX,
 		data, data_len,
-		wlan_hdd_set_roam_param_policy)) {
+		wlan_hdd_set_roam_param_policy, NULL)) {
 		hddLog(LOGE, FL("Invalid ATTR"));
 		return -EINVAL;
 	}
@@ -2049,7 +2049,7 @@
 				if (nla_parse(tb2,
 					QCA_WLAN_VENDOR_ATTR_ROAM_SUBCMD_MAX,
 					nla_data(curr_attr), nla_len(curr_attr),
-					wlan_hdd_set_roam_param_policy)) {
+					wlan_hdd_set_roam_param_policy, NULL)) {
 					hddLog(LOGE, FL("nla_parse failed"));
 					goto fail;
 				}
@@ -2213,7 +2213,7 @@
 			if (nla_parse(tb2,
 				QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_MAX,
 				nla_data(curr_attr), nla_len(curr_attr),
-				wlan_hdd_set_roam_param_policy)) {
+				wlan_hdd_set_roam_param_policy, NULL)) {
 				hddLog(LOGE, FL("nla_parse failed"));
 				goto fail;
 			}
@@ -2275,7 +2275,7 @@
 				if (nla_parse(tb2,
 					QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_MAX,
 					nla_data(curr_attr), nla_len(curr_attr),
-					wlan_hdd_set_roam_param_policy)) {
+					wlan_hdd_set_roam_param_policy, NULL)) {
 					hddLog(LOGE, FL("nla_parse failed"));
 					goto fail;
 				}
@@ -2733,7 +2733,7 @@
     }
     if (nla_parse(tb, QCA_WLAN_VENDOR_ATTR_EXTSCAN_SUBCMD_CONFIG_PARAM_MAX,
                     data, data_len,
-                    wlan_hdd_extscan_config_policy)) {
+                    wlan_hdd_extscan_config_policy, NULL)) {
         hddLog(VOS_TRACE_LEVEL_ERROR, FL("Invalid ATTR"));
         return -EINVAL;
     }
@@ -2875,7 +2875,7 @@
 		return -ENOTSUPP;
 	}
 	if (nla_parse(tb, PARAM_MAX, data, data_len,
-			wlan_hdd_extscan_config_policy)) {
+			wlan_hdd_extscan_config_policy, NULL)) {
 		hddLog(LOGE, FL("Invalid ATTR"));
 		return -EINVAL;
 	}
@@ -3011,7 +3011,7 @@
 
     if (nla_parse(tb, QCA_WLAN_VENDOR_ATTR_EXTSCAN_SUBCMD_CONFIG_PARAM_MAX,
                     data, data_len,
-                    wlan_hdd_extscan_config_policy)) {
+                    wlan_hdd_extscan_config_policy, NULL)) {
         hddLog(VOS_TRACE_LEVEL_ERROR, FL("Invalid ATTR"));
         return -EINVAL;
     }
@@ -3073,7 +3073,7 @@
 
         if (nla_parse(tb2, QCA_WLAN_VENDOR_ATTR_EXTSCAN_SUBCMD_CONFIG_PARAM_MAX,
                 nla_data(apTh), nla_len(apTh),
-                wlan_hdd_extscan_config_policy)) {
+                wlan_hdd_extscan_config_policy, NULL)) {
             hddLog(LOGE, FL("nla_parse failed"));
             goto fail;
         }
@@ -3208,7 +3208,7 @@
 
     if (nla_parse(tb, QCA_WLAN_VENDOR_ATTR_EXTSCAN_SUBCMD_CONFIG_PARAM_MAX,
                     data, data_len,
-                    wlan_hdd_extscan_config_policy)) {
+                    wlan_hdd_extscan_config_policy, NULL)) {
         hddLog(LOGE, FL("Invalid ATTR"));
         return -EINVAL;
     }
@@ -3291,7 +3291,7 @@
         if (nla_parse(tb2,
                 QCA_WLAN_VENDOR_ATTR_EXTSCAN_SUBCMD_CONFIG_PARAM_MAX,
                 nla_data(apTh), nla_len(apTh),
-                wlan_hdd_extscan_config_policy)) {
+                wlan_hdd_extscan_config_policy, NULL)) {
             hddLog(LOGE, FL("nla_parse failed"));
             goto fail;
         }
@@ -3421,7 +3421,7 @@
 
     if (nla_parse(tb, QCA_WLAN_VENDOR_ATTR_EXTSCAN_SUBCMD_CONFIG_PARAM_MAX,
                   data, data_len,
-                  wlan_hdd_extscan_config_policy)) {
+                  wlan_hdd_extscan_config_policy, NULL)) {
         hddLog(LOGE, FL("Invalid ATTR"));
         return -EINVAL;
     }
@@ -3672,7 +3672,7 @@
 		if (nla_parse(bucket,
 			      QCA_WLAN_VENDOR_ATTR_EXTSCAN_SUBCMD_CONFIG_PARAM_MAX,
 			      nla_data(buckets), nla_len(buckets),
-			      wlan_hdd_extscan_config_policy)) {
+			      wlan_hdd_extscan_config_policy, NULL)) {
 			hddLog(LOGE, FL("nla_parse failed"));
 			return -EINVAL;
 		}
@@ -3895,7 +3895,7 @@
 			if (nla_parse(channel,
 				QCA_WLAN_VENDOR_ATTR_EXTSCAN_SUBCMD_CONFIG_PARAM_MAX,
 				nla_data(channels), nla_len(channels),
-				wlan_hdd_extscan_config_policy)) {
+				wlan_hdd_extscan_config_policy, NULL)) {
 				hddLog(LOGE, FL("nla_parse failed"));
 				return -EINVAL;
 			}
@@ -4106,7 +4106,7 @@
 	}
 
 	if (nla_parse(tb, PARAM_MAX, data, data_len,
-		wlan_hdd_extscan_config_policy)) {
+		wlan_hdd_extscan_config_policy, NULL)) {
 		hddLog(LOGE, FL("Invalid ATTR"));
 		return -EINVAL;
 	}
@@ -4320,7 +4320,7 @@
 		return -ENOTSUPP;
 	}
 	if (nla_parse(tb, PARAM_MAX, data, data_len,
-			wlan_hdd_extscan_config_policy)) {
+			wlan_hdd_extscan_config_policy, NULL)) {
 		hddLog(LOGE, FL("Invalid ATTR"));
 		return -EINVAL;
 	}
@@ -4440,7 +4440,7 @@
     }
     if (nla_parse(tb, QCA_WLAN_VENDOR_ATTR_EXTSCAN_SUBCMD_CONFIG_PARAM_MAX,
                     data, data_len,
-                    wlan_hdd_extscan_config_policy)) {
+                    wlan_hdd_extscan_config_policy, NULL)) {
         hddLog(LOGE, FL("Invalid ATTR"));
         return -EINVAL;
     }
@@ -4555,7 +4555,7 @@
     }
     if (nla_parse(tb, QCA_WLAN_VENDOR_ATTR_EXTSCAN_SUBCMD_CONFIG_PARAM_MAX,
                     data, data_len,
-                    wlan_hdd_extscan_config_policy)) {
+                    wlan_hdd_extscan_config_policy, NULL)) {
         hddLog(LOGE, FL("Invalid ATTR"));
         return -EINVAL;
     }
@@ -4679,7 +4679,7 @@
 
 		if (nla_parse(network, QCA_WLAN_VENDOR_ATTR_PNO_MAX,
 			      nla_data(networks), nla_len(networks),
-			      wlan_hdd_pno_config_policy)) {
+			      wlan_hdd_pno_config_policy, NULL)) {
 			hddLog(LOGE, FL("nla_parse failed"));
 			return -EINVAL;
 		}
@@ -4774,7 +4774,7 @@
 
 	if (nla_parse(tb, QCA_WLAN_VENDOR_ATTR_PNO_MAX,
 		      data, data_len,
-		      wlan_hdd_pno_config_policy)) {
+		      wlan_hdd_pno_config_policy, NULL)) {
 		hddLog(LOGE, FL("Invalid ATTR"));
 		return -EINVAL;
 	}
@@ -4981,7 +4981,7 @@
 		if (nla_parse(network,
 			QCA_WLAN_VENDOR_ATTR_PNO_MAX,
 			nla_data(networks), nla_len(networks),
-			wlan_hdd_pno_config_policy)) {
+			wlan_hdd_pno_config_policy, NULL)) {
 			hddLog(LOGE, FL("nla_parse failed"));
 			return -EINVAL;
 		}
@@ -5082,7 +5082,7 @@
 	}
 
 	if (nla_parse(tb, QCA_WLAN_VENDOR_ATTR_PNO_MAX, data, data_len,
-		wlan_hdd_pno_config_policy)) {
+		wlan_hdd_pno_config_policy, NULL)) {
 		hddLog(LOGE, FL("Invalid ATTR"));
 		return -EINVAL;
 	}
@@ -5203,7 +5203,7 @@
 	}
 
 	if (nla_parse(tb, QCA_WLAN_VENDOR_ATTR_PNO_MAX, data, data_len,
-		wlan_hdd_extscan_config_policy)) {
+		wlan_hdd_extscan_config_policy, NULL)) {
 		hddLog(LOGE, FL("Invalid ATTR"));
 		return -EINVAL;
 	}
@@ -6420,7 +6420,7 @@
 	       data_len);
 	if (nla_parse(tb, QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_MAX,
 		      (struct nlattr *)data, data_len,
-		      qca_wlan_vendor_ll_ext_policy)) {
+		      qca_wlan_vendor_ll_ext_policy, NULL)) {
 		hddLog(VOS_TRACE_LEVEL_ERROR,
 		       FL("maximum attribute not present"));
 		return -EINVAL;
@@ -7410,7 +7410,7 @@
 
     if (nla_parse(tb_vendor, QCA_WLAN_VENDOR_ATTR_LL_STATS_SET_MAX,
                   (struct nlattr *)data,
-                  data_len, qca_wlan_vendor_ll_set_policy))
+                  data_len, qca_wlan_vendor_ll_set_policy, NULL))
     {
         hddLog(VOS_TRACE_LEVEL_ERROR, FL("maximum attribute not present"));
         return -EINVAL;
@@ -7547,7 +7547,7 @@
 
     if (nla_parse(tb_vendor, QCA_WLAN_VENDOR_ATTR_LL_STATS_GET_MAX,
                   (struct nlattr *)data,
-                  data_len, qca_wlan_vendor_ll_get_policy))
+                  data_len, qca_wlan_vendor_ll_get_policy, NULL))
     {
         hddLog(VOS_TRACE_LEVEL_ERROR, FL("max attribute not present"));
         return -EINVAL;
@@ -7672,7 +7672,7 @@
 
     if (nla_parse(tb_vendor, QCA_WLAN_VENDOR_ATTR_LL_STATS_CLR_MAX,
                   (struct nlattr *)data,
-                  data_len, qca_wlan_vendor_ll_clr_policy))
+                  data_len, qca_wlan_vendor_ll_clr_policy, NULL))
     {
         hddLog(VOS_TRACE_LEVEL_ERROR, FL("STATS_CLR_MAX is not present"));
         return -EINVAL;
@@ -8018,7 +8018,7 @@
 		return -EINVAL;
 
 	if (nla_parse(tb_vendor, QCA_WLAN_VENDOR_ATTR_WIFI_INFO_GET_MAX, data,
-		      data_len, qca_wlan_vendor_get_wifi_info_policy)) {
+		      data_len, qca_wlan_vendor_get_wifi_info_policy, NULL)) {
 		hddLog(LOGE, FL("WIFI_INFO_GET NL CMD parsing failed"));
 		return -EINVAL;
 	}
@@ -8282,7 +8282,7 @@
     }
     if (nla_parse(tb, QCA_WLAN_VENDOR_ATTR_TDLS_GET_STATUS_MAX,
                     data, data_len,
-                    wlan_hdd_tdls_config_get_status_policy)) {
+                    wlan_hdd_tdls_config_get_status_policy, NULL)) {
         hddLog(VOS_TRACE_LEVEL_ERROR, FL("Invalid attribute"));
         return -EINVAL;
     }
@@ -8469,7 +8469,7 @@
     }
     if (nla_parse(tb, QCA_WLAN_VENDOR_ATTR_TDLS_ENABLE_MAX,
                     data, data_len,
-                    wlan_hdd_tdls_config_enable_policy)) {
+                    wlan_hdd_tdls_config_enable_policy, NULL)) {
         hddLog(VOS_TRACE_LEVEL_ERROR, FL("Invalid ATTR"));
         return -EINVAL;
     }
@@ -8585,7 +8585,7 @@
     }
     if (nla_parse(tb, QCA_WLAN_VENDOR_ATTR_TDLS_DISABLE_MAX,
                     data, data_len,
-                    wlan_hdd_tdls_config_disable_policy)) {
+                    wlan_hdd_tdls_config_disable_policy, NULL)) {
         hddLog(VOS_TRACE_LEVEL_ERROR, FL("Invalid ATTR"));
         return -EINVAL;
     }
@@ -8771,7 +8771,7 @@
 
     if (nla_parse(tb, QCA_WLAN_VENDOR_ATTR_SET_NO_DFS_FLAG_MAX,
                     data, data_len,
-                    wlan_hdd_set_no_dfs_flag_config_policy)) {
+                    wlan_hdd_set_no_dfs_flag_config_policy, NULL)) {
         hddLog(LOGE, FL("invalid attr"));
         return -EINVAL;
     }
@@ -9382,7 +9382,7 @@
 	vos_mem_zero(&sap_config->acs_cfg, sizeof(struct sap_acs_cfg));
 
 	status = nla_parse(tb, QCA_WLAN_VENDOR_ATTR_ACS_MAX, data, data_len,
-						wlan_hdd_cfg80211_do_acs_policy);
+						wlan_hdd_cfg80211_do_acs_policy, NULL);
 	if (status) {
 		hddLog(VOS_TRACE_LEVEL_ERROR, FL("Invalid ATTR"));
 		goto out;
@@ -10012,7 +10012,7 @@
 
 	if (nla_parse(tb, QCA_WLAN_VENDOR_ATTR_CONFIG_MAX,
 		      data, data_len,
-		      wlan_hdd_wifi_config_policy)) {
+		      wlan_hdd_wifi_config_policy, NULL)) {
 		hddLog(LOGE, FL("invalid attr"));
 		return -EINVAL;
 	}
@@ -10608,7 +10608,7 @@
 		return -EINVAL;
 
 	if (nla_parse(tb_vendor, QCA_WLAN_VENDOR_ATTR_CONFIG_MAX, data,
-		      data_len, wlan_hdd_wifi_config_policy)) {
+		      data_len, wlan_hdd_wifi_config_policy, NULL)) {
 		hddLog(LOGE, FL("WIFI_CFG_GET NL CMD parsing failed"));
 		return -EINVAL;
 	}
@@ -10840,7 +10840,7 @@
 
 	if (nla_parse(tb, QCA_WLAN_VENDOR_ATTR_WIFI_LOGGER_START_MAX,
 		      data, data_len,
-		      qca_wlan_vendor_wifi_logger_start_policy)) {
+		      qca_wlan_vendor_wifi_logger_start_policy, NULL)) {
 		hddLog(LOGE, FL("Invalid attribute"));
 		return -EINVAL;
 	}
@@ -10940,7 +10940,7 @@
 		return -EINVAL;
 
 	if (nla_parse(tb, QCA_WLAN_VENDOR_ATTR_MAX, data, data_len,
-		      qca_wlan_vendor_attr_policy)) {
+		      qca_wlan_vendor_attr_policy, NULL)) {
 		hddLog(VOS_TRACE_LEVEL_ERROR, FL("Invalid attribute"));
 		return -EINVAL;
 	}
@@ -11166,7 +11166,7 @@
 
 	if (nla_parse(tb, QCA_WLAN_VENDOR_ATTR_WIFI_LOGGER_GET_RING_DATA_MAX,
 			data, data_len,
-			qca_wlan_vendor_wifi_logger_get_ring_data_policy)) {
+			qca_wlan_vendor_wifi_logger_get_ring_data_policy, NULL)) {
 		hddLog(LOGE, FL("Invalid attribute"));
 		return -EINVAL;
 	}
@@ -11571,7 +11571,7 @@
 		return -ENOTSUPP;
 	}
 
-	if (nla_parse(tb, PARAM_MAX, data, data_len, policy)) {
+	if (nla_parse(tb, PARAM_MAX, data, data_len, policy, NULL)) {
 		hddLog(LOGE, FL("Invalid ATTR"));
 		return -EINVAL;
 	}
@@ -11681,7 +11681,7 @@
 		return -ENOTSUPP;
 	}
 
-	if (nla_parse(tb, PARAM_MAX, data, data_len, policy)) {
+	if (nla_parse(tb, PARAM_MAX, data, data_len, policy, NULL)) {
 		hddLog(LOGE, FL("Invalid ATTR"));
 		return -EINVAL;
 	}
@@ -11940,7 +11940,7 @@
 
 	if (nla_parse(tb, QCA_WLAN_VENDOR_ATTR_ND_OFFLOAD_MAX,
 			(struct nlattr *)data,
-			data_len, ns_offload_set_policy)) {
+			data_len, ns_offload_set_policy, NULL)) {
 		hddLog(LOGE, FL("nla_parse failed"));
 		return -EINVAL;
 	}
@@ -12016,7 +12016,7 @@
 	if (ret)
 		return ret;
 
-	if (nla_parse(tb, QCA_WLAN_VENDOR_ATTR_MAX, data, data_len, policy)) {
+	if (nla_parse(tb, QCA_WLAN_VENDOR_ATTR_MAX, data, data_len, policy, NULL)) {
 		hddLog(LOGE, FL("Invalid ATTR"));
 		return -EINVAL;
 	}
@@ -12369,7 +12369,7 @@
 	}
 
 	if (nla_parse(tb, BPF_MAX, data, data_len,
-				wlan_hdd_bpf_offload_policy)) {
+				wlan_hdd_bpf_offload_policy, NULL)) {
 		hddLog(LOGE, FL("Invalid ATTR"));
 		return -EINVAL;
 	}
@@ -12819,7 +12819,7 @@
 
 	if (nla_parse(tb, QCA_WLAN_VENDOR_ATTR_ACS_DFS_MAX,
 				data, data_len,
-				wlan_hdd_set_acs_dfs_config_policy)) {
+				wlan_hdd_set_acs_dfs_config_policy, NULL)) {
 		hddLog(LOGE, FL("invalid attr"));
 		return -EINVAL;
 	}
@@ -12992,7 +12992,7 @@
 		return -EINVAL;
 	if (nla_parse(tb, QCA_WLAN_VENDOR_ATTR_STA_CONNECT_ROAM_POLICY_MAX,
 				data, data_len,
-				wlan_hdd_set_sta_roam_config_policy)) {
+				wlan_hdd_set_sta_roam_config_policy, NULL)) {
 		hddLog(LOGE, FL("invalid attr"));
 		return -EINVAL;
         }
@@ -13246,7 +13246,7 @@
 
 	if (nla_parse(tb, QCA_WLAN_VENDOR_ATTR_SAP_CONFIG_MAX,
 				data, data_len,
-				wlan_hdd_sap_config_policy)) {
+				wlan_hdd_sap_config_policy, NULL)) {
 		hddLog(LOGE, FL("invalid attr"));
 		return -EINVAL;
 	}
@@ -14184,7 +14184,7 @@
 		goto out;
 
 	status = nla_parse(tb, STATION_MAX, data, data_len,
-			   hdd_get_station_policy);
+			   hdd_get_station_policy, NULL);
 	if (status) {
 		hddLog(LOGE, FL("Invalid ATTR"));
 		goto out;
@@ -14330,7 +14330,7 @@
 	}
 
 	ret = nla_parse(tb, QCA_WLAN_VENDOR_ATTR_MAX, data, data_len,
-			qca_wlan_vendor_attr);
+			qca_wlan_vendor_attr, NULL);
 	if (ret) {
 		hddLog(LOGE, FL("Invalid ATTR"));
 		return -EINVAL;
@@ -14440,7 +14440,7 @@
 	adapter = WLAN_HDD_GET_PRIV_PTR(dev);
 
 	if (nla_parse(tb, QCA_WLAN_VENDOR_ATTR_TXPOWER_SCALE_MAX,
-		      data, data_len, txpower_scale_policy)) {
+		      data, data_len, txpower_scale_policy, NULL)) {
 		hddLog(LOGE, "Invalid ATTR");
 		return -EINVAL;
 	}
@@ -14526,7 +14526,7 @@
 	adapter = WLAN_HDD_GET_PRIV_PTR(dev);
 
 	if (nla_parse(tb, QCA_WLAN_VENDOR_ATTR_TXPOWER_SCALE_DECR_DB_MAX,
-		      data, data_len, txpower_scale_decr_db_policy)) {
+		      data, data_len, txpower_scale_decr_db_policy, NULL)) {
 		hddLog(LOGE, "Invalid ATTR");
 		return -EINVAL;
 	}
@@ -14649,7 +14649,7 @@
 		return retval;
 
 	/* nla validation doesn't do exact lengths, do the validation later */
-	retval = nla_parse(tb, QCA_WLAN_VENDOR_ATTR_MAX, data, data_len, NULL);
+	retval = nla_parse(tb, QCA_WLAN_VENDOR_ATTR_MAX, data, data_len, NULL, NULL);
 	if (retval) {
 		hddLog(LOGE, FL("Invalid ATTR"));
 		return retval;
@@ -14768,7 +14768,7 @@
 		return -EINVAL;
 	}
 	if (nla_parse(tb, QCA_WLAN_VENDOR_ATTR_FLUSH_PENDING_MAX, data,
-		      data_len, qca_wlan_vendor_peer_flush_pending_policy)) {
+		      data_len, qca_wlan_vendor_peer_flush_pending_policy, NULL)) {
 		hddLog(LOGE, FL("Invalid attribute"));
 		return -EINVAL;
 	}
@@ -15571,7 +15571,7 @@
 #ifdef FEATURE_WLAN_SCAN_PNO
     if (pCfg->configPNOScanSupport)
     {
-        wiphy->flags |= WIPHY_FLAG_SUPPORTS_SCHED_SCAN;
+	wiphy->max_sched_scan_reqs = 1;
         wiphy->max_sched_scan_ssids = SIR_PNO_MAX_SUPP_NETWORKS;
         wiphy->max_match_sets       = SIR_PNO_MAX_SUPP_NETWORKS;
         wiphy->max_sched_scan_ie_len = SIR_MAC_MAX_IE_LENGTH;
@@ -15860,7 +15860,7 @@
     * control comes here. Here just we need to clear it if firmware doesn't
     * have PNO support. */
    if (!pCfg->PnoOffload) {
-       wiphy->flags &= ~WIPHY_FLAG_SUPPORTS_SCHED_SCAN;
+       wiphy->max_sched_scan_reqs = 1;
        wiphy->max_sched_scan_ssids = 0;
        wiphy->max_match_sets = 0;
        wiphy->max_sched_scan_ie_len = 0;
@@ -20714,7 +20714,7 @@
         return NULL;
     }
 
-    chan = __ieee80211_get_channel(wiphy, freq);
+    chan = ieee80211_get_channel(wiphy, freq);
     /*
      * When the band is changed on the fly using the GUI, three things are done
      * 1. scan abort
@@ -27497,7 +27497,7 @@
          */
         hdd_prevent_suspend_timeout(1000, WIFI_POWER_EVENT_WAKELOCK_SCAN);
     }
-    cfg80211_sched_scan_results(pHddCtx->wiphy);
+    cfg80211_sched_scan_results(pHddCtx->wiphy, 0);
     VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO,
             "%s: cfg80211 scan result database updated", __func__);
 }
@@ -29394,7 +29394,7 @@
 
     ENTER();
 
-    err = nla_parse(tb, WLAN_HDD_TM_ATTR_MAX, data, len, wlan_hdd_tm_policy);
+    err = nla_parse(tb, WLAN_HDD_TM_ATTR_MAX, data, len, wlan_hdd_tm_policy, NULL);
     if (err) {
         hddLog(LOGE, FL("Testmode INV ATTR"));
         return err;
@@ -30054,7 +30054,7 @@
                  */
                 hdd_prevent_suspend_timeout(1000,
                                          WIFI_POWER_EVENT_WAKELOCK_RESUME_WLAN);
-                cfg80211_sched_scan_results(pHddCtx->wiphy);
+                cfg80211_sched_scan_results(pHddCtx->wiphy, 0);
             }
 
             hddLog(LOG1, FL("cfg80211 scan result database updated"));
diff --git a/CORE/HDD/src/wlan_hdd_early_suspend.c b/CORE/HDD/src/wlan_hdd_early_suspend.c
index 62d842d..75dae1a 100644
--- a/CORE/HDD/src/wlan_hdd_early_suspend.c
+++ b/CORE/HDD/src/wlan_hdd_early_suspend.c
@@ -2162,7 +2162,7 @@
    /* Wait for TLshim RX to exit */
    hddLog(VOS_TRACE_LEVEL_FATAL, "%s: Shutting down TLshim RX thread",
           __func__);
-   unregister_hotcpu_notifier(vosSchedContext->cpuHotPlugNotifier);
+   //unregister_hotcpu_notifier(vosSchedContext->cpuHotPlugNotifier);
    set_bit(RX_SHUTDOWN_EVENT, &vosSchedContext->tlshimRxEvtFlg);
    set_bit(RX_POST_EVENT, &vosSchedContext->tlshimRxEvtFlg);
    wake_up_interruptible(&vosSchedContext->tlshimRxWaitQueue);
diff --git a/CORE/HDD/src/wlan_hdd_hostapd.c b/CORE/HDD/src/wlan_hdd_hostapd.c
index 8bea288..d29c92d 100644
--- a/CORE/HDD/src/wlan_hdd_hostapd.c
+++ b/CORE/HDD/src/wlan_hdd_hostapd.c
@@ -1494,7 +1494,7 @@
 
 	freq = vos_chan_to_freq(oper_chan);
 
-	chan = __ieee80211_get_channel(hostapd_adapter->wdev.wiphy, freq);
+	chan = ieee80211_get_channel(hostapd_adapter->wdev.wiphy, freq);
 
 	if (!chan) {
 		VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_ERROR,
@@ -7941,7 +7941,7 @@
         vos_mem_copy(pHostapdAdapter->macAddressCurrent.bytes, (void *)macAddr, sizeof(tSirMacAddr));
 
         pHostapdAdapter->offloads_configured = FALSE;
-        pWlanHostapdDev->destructor = free_netdev;
+        pWlanHostapdDev->priv_destructor = free_netdev;
         pWlanHostapdDev->ieee80211_ptr = &pHostapdAdapter->wdev ;
         pHostapdAdapter->wdev.wiphy = pHddCtx->wiphy;
         pHostapdAdapter->wdev.netdev =  pWlanHostapdDev;
diff --git a/CORE/HDD/src/wlan_hdd_ipa.c b/CORE/HDD/src/wlan_hdd_ipa.c
index 8837214..5e12d2a 100644
--- a/CORE/HDD/src/wlan_hdd_ipa.c
+++ b/CORE/HDD/src/wlan_hdd_ipa.c
@@ -3058,7 +3058,7 @@
 		++adapter->hdd_stats.hddTxRxStats.rxRefused[cpu_index];
 
 	HDD_IPA_INCREASE_NET_SEND_COUNT(hdd_ipa);
-	adapter->dev->last_rx = jiffies;
+	//adapter->dev->last_rx = jiffies;
 }
 
 VOS_STATUS hdd_ipa_process_rxt(v_VOID_t *vosContext, adf_nbuf_t rx_buf_list,
diff --git a/CORE/HDD/src/wlan_hdd_main.c b/CORE/HDD/src/wlan_hdd_main.c
index 00dca1a..d0d590c 100755
--- a/CORE/HDD/src/wlan_hdd_main.c
+++ b/CORE/HDD/src/wlan_hdd_main.c
@@ -11022,7 +11022,7 @@
       pWlanDev->features |= NETIF_F_RXCSUM;
       hdd_set_station_ops( pAdapter->dev );
 
-      pWlanDev->destructor = free_netdev;
+      pWlanDev->priv_destructor = free_netdev;
       pWlanDev->ieee80211_ptr = &pAdapter->wdev ;
       pWlanDev->tx_queue_len = HDD_NETDEV_TX_QUEUE_LEN;
       pAdapter->wdev.wiphy = pHddCtx->wiphy;
@@ -11095,7 +11095,7 @@
 	   pwlan_dev->features |= NETIF_F_RXCSUM;
 	   hdd_set_monitor_ops(pAdapter->dev);
 
-	   pwlan_dev->destructor = free_netdev;
+	   pwlan_dev->priv_destructor = free_netdev;
 	   pwlan_dev->ieee80211_ptr = &pAdapter->wdev;
 	   pwlan_dev->tx_queue_len = HDD_NETDEV_TX_QUEUE_LEN;
 	   pAdapter->wdev.wiphy = pHddCtx->wiphy;
diff --git a/CORE/HDD/src/wlan_hdd_nan_datapath.c b/CORE/HDD/src/wlan_hdd_nan_datapath.c
index feb1a2b..d3a0e3c 100644
--- a/CORE/HDD/src/wlan_hdd_nan_datapath.c
+++ b/CORE/HDD/src/wlan_hdd_nan_datapath.c
@@ -1928,7 +1928,7 @@
 	}
 	if (nla_parse(tb, QCA_WLAN_VENDOR_ATTR_NDP_PARAMS_MAX,
 			data, data_len,
-			qca_wlan_vendor_ndp_policy)) {
+			qca_wlan_vendor_ndp_policy, NULL)) {
 		hddLog(LOGE, FL("Invalid NDP vendor command attributes"));
 		return -EINVAL;
 	}
diff --git a/CORE/HDD/src/wlan_hdd_ocb.c b/CORE/HDD/src/wlan_hdd_ocb.c
index 8de1fd9..f021c92 100644
--- a/CORE/HDD/src/wlan_hdd_ocb.c
+++ b/CORE/HDD/src/wlan_hdd_ocb.c
@@ -991,7 +991,7 @@
 	/* Parse the netlink message */
 	if (nla_parse(tb, QCA_WLAN_VENDOR_ATTR_OCB_SET_CONFIG_MAX,
 			data,
-			data_len, qca_wlan_vendor_ocb_set_config_policy)) {
+			data_len, qca_wlan_vendor_ocb_set_config_policy, NULL)) {
 		hddLog(LOGE, FL("Invalid ATTR"));
 		return -EINVAL;
 	}
@@ -1229,7 +1229,7 @@
 	/* Parse the netlink message */
 	if (nla_parse(tb, QCA_WLAN_VENDOR_ATTR_OCB_SET_UTC_TIME_MAX,
 		      data,
-		      data_len, qca_wlan_vendor_ocb_set_utc_time_policy)) {
+		      data_len, qca_wlan_vendor_ocb_set_utc_time_policy, NULL)) {
 		hddLog(LOGE, FL("Invalid ATTR"));
 		return -EINVAL;
 	}
@@ -1354,7 +1354,7 @@
 	if (nla_parse(tb, QCA_WLAN_VENDOR_ATTR_OCB_START_TIMING_ADVERT_MAX,
 		      data,
 		      data_len,
-		      qca_wlan_vendor_ocb_start_timing_advert_policy)) {
+		      qca_wlan_vendor_ocb_start_timing_advert_policy, NULL)) {
 		hddLog(LOGE, FL("Invalid ATTR"));
 		goto fail;
 	}
@@ -1476,7 +1476,7 @@
 	if (nla_parse(tb, QCA_WLAN_VENDOR_ATTR_OCB_STOP_TIMING_ADVERT_MAX,
 		      data,
 		      data_len,
-		      qca_wlan_vendor_ocb_stop_timing_advert_policy)) {
+		      qca_wlan_vendor_ocb_stop_timing_advert_policy, NULL)) {
 		hddLog(LOGE, FL("Invalid ATTR"));
 		goto fail;
 	}
@@ -1791,7 +1791,7 @@
 	if (nla_parse(tb, QCA_WLAN_VENDOR_ATTR_DCC_GET_STATS_MAX,
 		      data,
 		      data_len,
-		      qca_wlan_vendor_dcc_get_stats)) {
+		      qca_wlan_vendor_dcc_get_stats, NULL)) {
 		hddLog(LOGE, FL("Invalid ATTR"));
 		return -EINVAL;
 	}
@@ -1961,7 +1961,7 @@
 	if (nla_parse(tb, QCA_WLAN_VENDOR_ATTR_DCC_CLEAR_STATS_MAX,
 		      data,
 		      data_len,
-		      qca_wlan_vendor_dcc_clear_stats)) {
+		      qca_wlan_vendor_dcc_clear_stats, NULL)) {
 		hddLog(LOGE, FL("Invalid ATTR"));
 		return -EINVAL;
 	}
@@ -2085,7 +2085,7 @@
 	if (nla_parse(tb, QCA_WLAN_VENDOR_ATTR_DCC_UPDATE_NDL_MAX,
 		      data,
 		      data_len,
-		      qca_wlan_vendor_dcc_update_ndl)) {
+		      qca_wlan_vendor_dcc_update_ndl, NULL)) {
 		hddLog(LOGE, FL("Invalid ATTR"));
 		goto end;
 	}
diff --git a/CORE/HDD/src/wlan_hdd_softap_tx_rx.c b/CORE/HDD/src/wlan_hdd_softap_tx_rx.c
index c02e983..fd6d91b 100644
--- a/CORE/HDD/src/wlan_hdd_softap_tx_rx.c
+++ b/CORE/HDD/src/wlan_hdd_softap_tx_rx.c
@@ -970,7 +970,7 @@
 
       skb = skb_next;
    }
-   pAdapter->dev->last_rx = jiffies;
+   //pAdapter->dev->last_rx = jiffies;
 
    return VOS_STATUS_SUCCESS;
 }
diff --git a/CORE/HDD/src/wlan_hdd_tx_rx.c b/CORE/HDD/src/wlan_hdd_tx_rx.c
index b874191..b0fee04 100644
--- a/CORE/HDD/src/wlan_hdd_tx_rx.c
+++ b/CORE/HDD/src/wlan_hdd_tx_rx.c
@@ -1260,7 +1260,7 @@
 		skb = skb_next;
 	}
 
-	adapter->dev->last_rx = jiffies;
+	//adapter->dev->last_rx = jiffies;
 
 	return VOS_STATUS_SUCCESS;
 }
@@ -1318,7 +1318,7 @@
 		skb = skb_next;
 	}
 
-	adapter->dev->last_rx = jiffies;
+	//adapter->dev->last_rx = jiffies;
 
 	return VOS_STATUS_SUCCESS;
 }
@@ -1566,7 +1566,7 @@
       skb = skb_next;
    }
 
-   pAdapter->dev->last_rx = jiffies;
+   //pAdapter->dev->last_rx = jiffies;
 
    return VOS_STATUS_SUCCESS;
 }
diff --git a/CORE/SERVICES/COMMON/adf/linux/adf_os_dma_pvt.h b/CORE/SERVICES/COMMON/adf/linux/adf_os_dma_pvt.h
index d0e9e63..8bd4dae 100644
--- a/CORE/SERVICES/COMMON/adf/linux/adf_os_dma_pvt.h
+++ b/CORE/SERVICES/COMMON/adf/linux/adf_os_dma_pvt.h
@@ -74,8 +74,8 @@
        vaddr = dma_alloc_coherent(osdev->dev, size, &lmap->seg[0].daddr,
                                   GFP_ATOMIC);
    else
-       vaddr = dma_alloc_noncoherent(osdev->dev, size, &lmap->seg[0].daddr,
-                                     GFP_ATOMIC);
+       vaddr = dma_alloc_attrs(osdev->dev, size, &lmap->seg[0].daddr,
+                                     GFP_ATOMIC, DMA_ATTR_NON_CONSISTENT);
 
    adf_os_assert(vaddr);
 
@@ -100,7 +100,8 @@
     if(coherent)
         dma_free_coherent(osdev->dev, size, vaddr, dmap->seg[0].daddr);
     else
-        dma_free_noncoherent(osdev->dev, size, vaddr, dmap->seg[0].daddr);
+        dma_free_attrs(osdev->dev, size, vaddr, dmap->seg[0].daddr,
+		       DMA_ATTR_NON_CONSISTENT);
 
     kfree(dmap);
 }
diff --git a/CORE/SERVICES/HIF/PCIe/if_pci.c b/CORE/SERVICES/HIF/PCIe/if_pci.c
index 840724d..1a8a826 100644
--- a/CORE/SERVICES/HIF/PCIe/if_pci.c
+++ b/CORE/SERVICES/HIF/PCIe/if_pci.c
@@ -2382,7 +2382,7 @@
         int rv;
 
 #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 16, 0)) || defined(WITH_BACKPORTS)
-        rv = pci_enable_msi_range(sc->pdev, MSI_NUM_REQUEST, MSI_NUM_REQUEST);
+        rv = pci_alloc_irq_vectors(sc->pdev, MSI_NUM_REQUEST, MSI_NUM_REQUEST, PCI_IRQ_MSI);
 #else
         rv = pci_enable_msi_block(sc->pdev, MSI_NUM_REQUEST);
 #endif
@@ -2554,7 +2554,7 @@
     hif_nointrs(sc);
 err_intr:
     if (num_msi_desired) {
-        pci_disable_msi(sc->pdev);
+	pci_free_irq_vectors(sc->pdev);
     }
     pci_set_drvdata(sc->pdev, NULL);
 
@@ -2592,7 +2592,7 @@
 
     mem = (void __iomem *)sc->mem;
 
-    pci_disable_msi(pdev);
+    pci_free_irq_vectors(pdev);
 
     hif_dump_pipe_debug_count(sc->hif_device);
 
@@ -2665,7 +2665,7 @@
 
     mem = (void __iomem *)sc->mem;
 
-    pci_disable_msi(pdev);
+    pci_free_irq_vectors(pdev);
 
     hif_pci_pm_runtime_ssr_post_exit(sc);
     hif_deinit_adf_ctx(scn);
diff --git a/CORE/VOSS/src/vos_sched.c b/CORE/VOSS/src/vos_sched.c
index ce09796..b7d7b5c 100644
--- a/CORE/VOSS/src/vos_sched.c
+++ b/CORE/VOSS/src/vos_sched.c
@@ -559,8 +559,8 @@
        return VOS_STATUS_E_FAILURE;
   }
   SPIN_UNLOCK_BH(&pSchedContext->VosTlshimPktFreeQLock);
-  register_hotcpu_notifier(&vos_cpu_hotplug_notifier);
-  pSchedContext->cpuHotPlugNotifier = &vos_cpu_hotplug_notifier;
+  //register_hotcpu_notifier(&vos_cpu_hotplug_notifier);
+  //pSchedContext->cpuHotPlugNotifier = &vos_cpu_hotplug_notifier;
   vos_lock_init(&pSchedContext->affinity_lock);
   pSchedContext->high_throughput_required = false;
 #endif
@@ -643,7 +643,7 @@
 
 
 #ifdef QCA_CONFIG_SMP
-  unregister_hotcpu_notifier(&vos_cpu_hotplug_notifier);
+  //unregister_hotcpu_notifier(&vos_cpu_hotplug_notifier);
   vos_free_tlshim_pkt_freeq(gpVosSchedContext);
 #endif
 
@@ -1610,7 +1610,7 @@
     gpVosSchedContext->TlshimRxThread = NULL;
     vos_drop_rxpkt_by_staid(gpVosSchedContext, WLAN_MAX_STA_COUNT);
     vos_free_tlshim_pkt_freeq(gpVosSchedContext);
-    unregister_hotcpu_notifier(&vos_cpu_hotplug_notifier);
+    //unregister_hotcpu_notifier(&vos_cpu_hotplug_notifier);
 #endif
     return VOS_STATUS_SUCCESS;
 } /* vox_sched_close() */
diff --git a/CORE/VOSS/src/vos_threads.c b/CORE/VOSS/src/vos_threads.c
index afbc9e9..a518b5b 100644
--- a/CORE/VOSS/src/vos_threads.c
+++ b/CORE/VOSS/src/vos_threads.c
@@ -42,6 +42,7 @@
 #include <vos_trace.h>
 #include <linux/jiffies.h>
 #include <linux/sched.h>
+#include <linux/sched/signal.h>
 #include <linux/delay.h>
 #include <linux/interrupt.h>