Revert "Cumulative patch from commit 4ec1fd8e42bad9390f14a58225b6e5f6fb691950"

This reverts commit 78a5dac804c22aa6e4ec8226a864d3b0d6ccddbb.

Test: None
diff --git a/src/common/defs.h b/src/common/defs.h
index 4dd5690..4f56794 100644
--- a/src/common/defs.h
+++ b/src/common/defs.h
@@ -51,10 +51,6 @@
 #define WPA_KEY_MGMT_OSEN BIT(15)
 #define WPA_KEY_MGMT_IEEE8021X_SUITE_B BIT(16)
 #define WPA_KEY_MGMT_IEEE8021X_SUITE_B_192 BIT(17)
-#define WPA_KEY_MGMT_FILS_SHA256 BIT(18)
-#define WPA_KEY_MGMT_FILS_SHA384 BIT(19)
-#define WPA_KEY_MGMT_FT_FILS_SHA256 BIT(20)
-#define WPA_KEY_MGMT_FT_FILS_SHA384 BIT(21)
 
 static inline int wpa_key_mgmt_wpa_ieee8021x(int akm)
 {
@@ -64,11 +60,7 @@
 			 WPA_KEY_MGMT_OSEN |
 			 WPA_KEY_MGMT_IEEE8021X_SHA256 |
 			 WPA_KEY_MGMT_IEEE8021X_SUITE_B |
-			 WPA_KEY_MGMT_IEEE8021X_SUITE_B_192 |
-			 WPA_KEY_MGMT_FILS_SHA256 |
-			 WPA_KEY_MGMT_FILS_SHA384 |
-			 WPA_KEY_MGMT_FT_FILS_SHA256 |
-			 WPA_KEY_MGMT_FT_FILS_SHA384));
+			 WPA_KEY_MGMT_IEEE8021X_SUITE_B_192));
 }
 
 static inline int wpa_key_mgmt_wpa_psk(int akm)
@@ -84,14 +76,7 @@
 {
 	return !!(akm & (WPA_KEY_MGMT_FT_PSK |
 			 WPA_KEY_MGMT_FT_IEEE8021X |
-			 WPA_KEY_MGMT_FT_SAE |
-			 WPA_KEY_MGMT_FT_FILS_SHA256 |
-			 WPA_KEY_MGMT_FT_FILS_SHA384));
-}
-
-static inline int wpa_key_mgmt_ft_psk(int akm)
-{
-	return !!(akm & WPA_KEY_MGMT_FT_PSK);
+			 WPA_KEY_MGMT_FT_SAE));
 }
 
 static inline int wpa_key_mgmt_sae(int akm)
@@ -100,29 +85,17 @@
 			 WPA_KEY_MGMT_FT_SAE));
 }
 
-static inline int wpa_key_mgmt_fils(int akm)
-{
-	return !!(akm & (WPA_KEY_MGMT_FILS_SHA256 |
-			 WPA_KEY_MGMT_FILS_SHA384 |
-			 WPA_KEY_MGMT_FT_FILS_SHA256 |
-			 WPA_KEY_MGMT_FT_FILS_SHA384));
-}
-
 static inline int wpa_key_mgmt_sha256(int akm)
 {
 	return !!(akm & (WPA_KEY_MGMT_PSK_SHA256 |
 			 WPA_KEY_MGMT_IEEE8021X_SHA256 |
 			 WPA_KEY_MGMT_OSEN |
-			 WPA_KEY_MGMT_IEEE8021X_SUITE_B |
-			 WPA_KEY_MGMT_FILS_SHA256 |
-			 WPA_KEY_MGMT_FT_FILS_SHA256));
+			 WPA_KEY_MGMT_IEEE8021X_SUITE_B));
 }
 
 static inline int wpa_key_mgmt_sha384(int akm)
 {
-	return !!(akm & (WPA_KEY_MGMT_IEEE8021X_SUITE_B_192 |
-			 WPA_KEY_MGMT_FILS_SHA384 |
-			 WPA_KEY_MGMT_FT_FILS_SHA384));
+	return !!(akm & WPA_KEY_MGMT_IEEE8021X_SUITE_B_192);
 }
 
 static inline int wpa_key_mgmt_suite_b(int akm)
@@ -135,7 +108,6 @@
 {
 	return wpa_key_mgmt_wpa_ieee8021x(akm) ||
 		wpa_key_mgmt_wpa_psk(akm) ||
-		wpa_key_mgmt_fils(akm) ||
 		wpa_key_mgmt_sae(akm);
 }
 
@@ -160,7 +132,6 @@
 #define WPA_AUTH_ALG_LEAP BIT(2)
 #define WPA_AUTH_ALG_FT BIT(3)
 #define WPA_AUTH_ALG_SAE BIT(4)
-#define WPA_AUTH_ALG_FILS BIT(5)
 
 
 enum wpa_alg {
diff --git a/src/common/ieee802_11_common.c b/src/common/ieee802_11_common.c
index 26e08b7..b6bc449 100644
--- a/src/common/ieee802_11_common.c
+++ b/src/common/ieee802_11_common.c
@@ -179,90 +179,6 @@
 }
 
 
-static int ieee802_11_parse_extension(const u8 *pos, size_t elen,
-				      struct ieee802_11_elems *elems,
-				      int show_errors)
-{
-	u8 ext_id;
-
-	if (elen < 1) {
-		if (show_errors) {
-			wpa_printf(MSG_MSGDUMP,
-				   "short information element (Ext)");
-		}
-		return -1;
-	}
-
-	ext_id = *pos++;
-	elen--;
-
-	switch (ext_id) {
-	case WLAN_EID_EXT_ASSOC_DELAY_INFO:
-		if (elen != 1)
-			break;
-		elems->assoc_delay_info = pos;
-		break;
-	case WLAN_EID_EXT_FILS_REQ_PARAMS:
-		if (elen < 3)
-			break;
-		elems->fils_req_params = pos;
-		elems->fils_req_params_len = elen;
-		break;
-	case WLAN_EID_EXT_FILS_KEY_CONFIRM:
-		elems->fils_key_confirm = pos;
-		elems->fils_key_confirm_len = elen;
-		break;
-	case WLAN_EID_EXT_FILS_SESSION:
-		if (elen != FILS_SESSION_LEN)
-			break;
-		elems->fils_session = pos;
-		break;
-	case WLAN_EID_EXT_FILS_HLP_CONTAINER:
-		if (elen < 2 * ETH_ALEN)
-			break;
-		elems->fils_hlp = pos;
-		elems->fils_hlp_len = elen;
-		break;
-	case WLAN_EID_EXT_FILS_IP_ADDR_ASSIGN:
-		if (elen < 1)
-			break;
-		elems->fils_ip_addr_assign = pos;
-		elems->fils_ip_addr_assign_len = elen;
-		break;
-	case WLAN_EID_EXT_KEY_DELIVERY:
-		if (elen < WPA_KEY_RSC_LEN)
-			break;
-		elems->key_delivery = pos;
-		elems->key_delivery_len = elen;
-		break;
-	case WLAN_EID_EXT_FILS_WRAPPED_DATA:
-		elems->fils_wrapped_data = pos;
-		elems->fils_wrapped_data_len = elen;
-		break;
-	case WLAN_EID_EXT_FILS_PUBLIC_KEY:
-		if (elen < 1)
-			break;
-		elems->fils_pk = pos;
-		elems->fils_pk_len = elen;
-		break;
-	case WLAN_EID_EXT_FILS_NONCE:
-		if (elen != FILS_NONCE_LEN)
-			break;
-		elems->fils_nonce = pos;
-		break;
-	default:
-		if (show_errors) {
-			wpa_printf(MSG_MSGDUMP,
-				   "IEEE 802.11 element parsing ignored unknown element extension (ext_id=%u elen=%u)",
-				   ext_id, (unsigned int) elen);
-		}
-		return -1;
-	}
-
-	return 0;
-}
-
-
 /**
  * ieee802_11_parse_elems - Parse information elements in management frames
  * @start: Pointer to the start of IEs
@@ -463,35 +379,6 @@
 			elems->rrm_enabled = pos;
 			elems->rrm_enabled_len = elen;
 			break;
-		case WLAN_EID_CAG_NUMBER:
-			elems->cag_number = pos;
-			elems->cag_number_len = elen;
-			break;
-		case WLAN_EID_AP_CSN:
-			if (elen < 1)
-				break;
-			elems->ap_csn = pos;
-			break;
-		case WLAN_EID_FILS_INDICATION:
-			if (elen < 2)
-				break;
-			elems->fils_indic = pos;
-			elems->fils_indic_len = elen;
-			break;
-		case WLAN_EID_DILS:
-			if (elen < 2)
-				break;
-			elems->dils = pos;
-			elems->dils_len = elen;
-			break;
-		case WLAN_EID_FRAGMENT:
-			/* TODO */
-			break;
-		case WLAN_EID_EXTENSION:
-			if (ieee802_11_parse_extension(pos, elen, elems,
-						       show_errors))
-				unknown++;
-			break;
 		default:
 			unknown++;
 			if (!show_errors)
@@ -794,25 +681,6 @@
 		return HOSTAPD_MODE_IEEE80211A;
 	}
 
-	/* 5 GHz, channels 52..64 */
-	if (freq >= 5260 && freq <= 5320) {
-		if ((freq - 5000) % 5)
-			return NUM_HOSTAPD_MODES;
-
-		if (vht_opclass)
-			*op_class = vht_opclass;
-		else if (sec_channel == 1)
-			*op_class = 119;
-		else if (sec_channel == -1)
-			*op_class = 120;
-		else
-			*op_class = 118;
-
-		*channel = (freq - 5000) / 5;
-
-		return HOSTAPD_MODE_IEEE80211A;
-	}
-
 	/* 5 GHz, channels 149..169 */
 	if (freq >= 5745 && freq <= 5845) {
 		if ((freq - 5000) % 5)
diff --git a/src/common/ieee802_11_common.h b/src/common/ieee802_11_common.h
index 2c20ba6..42f3909 100644
--- a/src/common/ieee802_11_common.h
+++ b/src/common/ieee802_11_common.h
@@ -64,20 +64,6 @@
 	const u8 *pref_freq_list;
 	const u8 *supp_op_classes;
 	const u8 *rrm_enabled;
-	const u8 *cag_number;
-	const u8 *ap_csn;
-	const u8 *fils_indic;
-	const u8 *dils;
-	const u8 *assoc_delay_info;
-	const u8 *fils_req_params;
-	const u8 *fils_key_confirm;
-	const u8 *fils_session;
-	const u8 *fils_hlp;
-	const u8 *fils_ip_addr_assign;
-	const u8 *key_delivery;
-	const u8 *fils_wrapped_data;
-	const u8 *fils_pk;
-	const u8 *fils_nonce;
 
 	u8 ssid_len;
 	u8 supp_rates_len;
@@ -110,16 +96,6 @@
 	u8 pref_freq_list_len;
 	u8 supp_op_classes_len;
 	u8 rrm_enabled_len;
-	u8 cag_number_len;
-	u8 fils_indic_len;
-	u8 dils_len;
-	u8 fils_req_params_len;
-	u8 fils_key_confirm_len;
-	u8 fils_hlp_len;
-	u8 fils_ip_addr_assign_len;
-	u8 key_delivery_len;
-	u8 fils_wrapped_data_len;
-	u8 fils_pk_len;
 
 	struct mb_ies_info mb_ies;
 };
diff --git a/src/common/ieee802_11_defs.h b/src/common/ieee802_11_defs.h
index ca808d7..02d2ad7 100644
--- a/src/common/ieee802_11_defs.h
+++ b/src/common/ieee802_11_defs.h
@@ -81,9 +81,6 @@
 #define WLAN_AUTH_SHARED_KEY		1
 #define WLAN_AUTH_FT			2
 #define WLAN_AUTH_SAE			3
-#define WLAN_AUTH_FILS_SK		4
-#define WLAN_AUTH_FILS_SK_PFS		5
-#define WLAN_AUTH_FILS_PK		6
 #define WLAN_AUTH_LEAP			128
 
 #define WLAN_AUTH_CHALLENGE_LEN 128
@@ -178,8 +175,6 @@
 #define WLAN_STATUS_QUERY_RESP_OUTSTANDING 95
 #define WLAN_STATUS_DENIED_WITH_SUGGESTED_BAND_AND_CHANNEL 99
 #define WLAN_STATUS_ASSOC_DENIED_NO_VHT 104
-#define WLAN_STATUS_FILS_AUTHENTICATION_FAILURE 112
-#define WLAN_STATUS_UNKNOWN_AUTHENTICATION_SERVER 113
 
 /* Reason codes (IEEE 802.11-2007, 7.3.1.7, Table 7-22) */
 #define WLAN_REASON_UNSPECIFIED 1
@@ -297,24 +292,6 @@
 #define WLAN_EID_VHT_QUIET_CHANNEL 198
 #define WLAN_EID_VHT_OPERATING_MODE_NOTIFICATION 199
 #define WLAN_EID_VENDOR_SPECIFIC 221
-#define WLAN_EID_CAG_NUMBER 237
-#define WLAN_EID_AP_CSN 239
-#define WLAN_EID_FILS_INDICATION 240
-#define WLAN_EID_DILS 241
-#define WLAN_EID_FRAGMENT 242
-#define WLAN_EID_EXTENSION 255
-
-/* Element ID Extension (EID 255) values */
-#define WLAN_EID_EXT_ASSOC_DELAY_INFO 1
-#define WLAN_EID_EXT_FILS_REQ_PARAMS 2
-#define WLAN_EID_EXT_FILS_KEY_CONFIRM 3
-#define WLAN_EID_EXT_FILS_SESSION 4
-#define WLAN_EID_EXT_FILS_HLP_CONTAINER 5
-#define WLAN_EID_EXT_FILS_IP_ADDR_ASSIGN 6
-#define WLAN_EID_EXT_KEY_DELIVERY 7
-#define WLAN_EID_EXT_FILS_WRAPPED_DATA 8
-#define WLAN_EID_EXT_FILS_PUBLIC_KEY 12
-#define WLAN_EID_EXT_FILS_NONCE 13
 
 
 /* Action frame categories (IEEE 802.11-2007, 7.3.1.11, Table 7-24) */
@@ -334,7 +311,6 @@
 #define WLAN_ACTION_SELF_PROTECTED 15
 #define WLAN_ACTION_WMM 17 /* WMM Specification 1.1 */
 #define WLAN_ACTION_FST 18
-#define WLAN_ACTION_FILS 26
 #define WLAN_ACTION_VENDOR_SPECIFIC 127
 
 /* Public action codes */
@@ -345,7 +321,6 @@
 #define WLAN_PA_GAS_COMEBACK_REQ 12
 #define WLAN_PA_GAS_COMEBACK_RESP 13
 #define WLAN_TDLS_DISCOVERY_RESPONSE 14
-#define WLAN_PA_FILS_DISCOVERY 34
 
 /* Protected Dual of Public Action frames */
 #define WLAN_PROT_DSE_ENABLEMENT 1
@@ -451,10 +426,6 @@
 	ANQP_TDLS_CAPABILITY = 270,
 	ANQP_EMERGENCY_NAI = 271,
 	ANQP_NEIGHBOR_REPORT = 272,
-	ANQP_QUERY_AP_LIST = 273,
-	ANQP_AP_LIST_RESPONSE = 274,
-	AMQP_FILS_REALM_INFO = 275,
-	ANQP_CAG = 276,
 	ANQP_VENUE_URL = 277,
 	ANQP_ADVICE_OF_CHARGE = 278,
 	ANQP_LOCAL_CONTENT = 279,
@@ -534,11 +505,6 @@
 	LCI_REQ_SUBELEM_MAX_AGE = 4,
 };
 
-#define FILS_NONCE_LEN 16
-#define FILS_SESSION_LEN 8
-#define FILS_CACHE_ID_LEN 2
-#define FILS_MAX_KEY_AUTH_LEN 48
-
 #ifdef _MSC_VER
 #pragma pack(push, 1)
 #endif /* _MSC_VER */
@@ -1214,10 +1180,6 @@
 	WFA_WNM_NOTIF_SUBELEM_CELL_DATA_CAPA = 3,
 };
 
-/* MBO v0.0_r25, 4.3: MBO ANQP-elements */
-#define MBO_ANQP_OUI_TYPE 0x12
-#define MBO_ANQP_SUBTYPE_CELL_CONN_PREF 1
-
 /* Wi-Fi Direct (P2P) */
 
 #define P2P_OUI_TYPE 9
@@ -1429,10 +1391,6 @@
 #define WLAN_AKM_SUITE_PSK_SHA256	0x000FAC06
 #define WLAN_AKM_SUITE_8021X_SUITE_B	0x000FAC11
 #define WLAN_AKM_SUITE_8021X_SUITE_B_192	0x000FAC12
-#define WLAN_AKM_SUITE_FILS_SHA256	0x000FAC14
-#define WLAN_AKM_SUITE_FILS_SHA384	0x000FAC15
-#define WLAN_AKM_SUITE_FT_FILS_SHA256	0x000FAC16
-#define WLAN_AKM_SUITE_FT_FILS_SHA384	0x000FAC17
 #define WLAN_AKM_SUITE_CCKM		0x00409600
 #define WLAN_AKM_SUITE_OSEN		0x506f9a01
 
diff --git a/src/common/privsep_commands.h b/src/common/privsep_commands.h
index f017f08..8dff303 100644
--- a/src/common/privsep_commands.h
+++ b/src/common/privsep_commands.h
@@ -42,9 +42,9 @@
 	int wep_tx_keyidx;
 	int local_state_change;
 	int p2p;
-	size_t auth_data_len;
+	size_t sae_data_len;
 	/* followed by ie_len bytes of ie */
-	/* followed by auth_data_len bytes of auth_data */
+	/* followed by sae_data_len bytes of sae_data */
 };
 
 struct privsep_cmd_associate
diff --git a/src/common/qca-vendor.h b/src/common/qca-vendor.h
index fc391e0..c458cb3 100644
--- a/src/common/qca-vendor.h
+++ b/src/common/qca-vendor.h
@@ -164,11 +164,8 @@
  *
  * @QCA_NL80211_VENDOR_SUBCMD_AOA_MEAS: Perform a standalone AOA (angle of
  *	arrival) measurement with a single peer. Specify peer MAC address in
- *	QCA_WLAN_VENDOR_ATTR_MAC_ADDR and optionally frequency (MHz) in
- *	QCA_WLAN_VENDOR_ATTR_FREQ (if not specified, locate peer in kernel
- *	scan results cache and use the frequency from there).
- *	Also specify measurement type in QCA_WLAN_VENDOR_ATTR_AOA_TYPE.
- *	Measurement result is reported in
+ *	QCA_WLAN_VENDOR_ATTR_MAC_ADDR and measurement type in
+ *	QCA_WLAN_VENDOR_ATTR_AOA_TYPE. Measurement result is reported in
  *	QCA_NL80211_VENDOR_SUBCMD_AOA_MEAS_RESULT event.
  *
  * @QCA_NL80211_VENDOR_SUBCMD_AOA_ABORT_MEAS: Abort an AOA measurement. Specify
@@ -188,50 +185,6 @@
  *
  * @QCA_NL80211_VENDOR_SUBCMD_GET_CHAIN_RSSI: Get antenna RSSI value for a
  *	specific chain.
- *
- * @QCA_NL80211_VENDOR_SUBCMD_DMG_RF_GET_SECTOR_CFG: Get low level
- *	configuration for a DMG RF sector. Specify sector index in
- *	QCA_WLAN_VENDOR_ATTR_DMG_RF_SECTOR_INDEX, sector type in
- *	QCA_WLAN_VENDOR_ATTR_DMG_RF_SECTOR_TYPE and RF modules
- *	to return sector information for in
- *	QCA_WLAN_VENDOR_ATTR_DMG_RF_MODULE_MASK. Returns sector configuration
- *	in QCA_WLAN_VENDOR_ATTR_DMG_RF_SECTOR_CFG. Also return the
- *	exact time where information was captured in
- *	QCA_WLAN_VENDOR_ATTR_TSF.
- *
- * @QCA_NL80211_VENDOR_SUBCMD_DMG_RF_SET_SECTOR_CFG: Set low level
- *	configuration for a DMG RF sector. Specify sector index in
- *	QCA_WLAN_VENDOR_ATTR_DMG_RF_SECTOR_INDEX, sector type in
- *	QCA_WLAN_VENDOR_ATTR_DMG_RF_SECTOR_TYPE and sector configuration
- *	for one or more DMG RF modules in
- *	QCA_WLAN_VENDOR_ATTR_DMG_RF_SECTOR_CFG.
- *
- * @QCA_NL80211_VENDOR_SUBCMD_DMG_RF_GET_SELECTED_SECTOR: Get selected
- *	DMG RF sector for a station. This is the sector that the HW
- *	will use to communicate with the station. Specify the MAC address
- *	of associated station/AP/PCP in QCA_WLAN_VENDOR_ATTR_MAC_ADDR (not
- *	needed for unassociated	station). Specify sector type to return in
- *	QCA_WLAN_VENDOR_ATTR_DMG_RF_SECTOR_TYPE. Returns the selected
- *	sector index in QCA_WLAN_VENDOR_ATTR_DMG_RF_SECTOR_INDEX.
- *	Also return the exact time where the information was captured
- *	in QCA_WLAN_VENDOR_ATTR_TSF.
- *
- * @QCA_NL80211_VENDOR_SUBCMD_DMG_RF_SET_SELECTED_SECTOR: Set the
- *	selected DMG RF sector for a station. This is the sector that
- *	the HW will use to communicate with the station.
- *	Specify the MAC address of associated station/AP/PCP in
- *	QCA_WLAN_VENDOR_ATTR_MAC_ADDR, the sector type to select in
- *	QCA_WLAN_VENDOR_ATTR_DMG_RF_SECTOR_TYPE and the sector index
- *	in QCA_WLAN_VENDOR_ATTR_DMG_RF_SECTOR_INDEX.
- *	The selected sector will be locked such that it will not be
- *	modified like it normally does (for example when station
- *	moves around). To unlock the selected sector for a station
- *	pass the special value 0xFFFF in the sector index. To unlock
- *	all connected stations also pass a broadcast MAC address.
- *
- * @QCA_NL80211_VENDOR_SUBCMD_CONFIGURE_TDLS: Configure the TDLS behavior
- *	in the host driver. The different TDLS configurations are defined
- *	by the attributes in enum qca_wlan_vendor_attr_tdls_configuration.
  */
 enum qca_nl80211_vendor_subcmds {
 	QCA_NL80211_VENDOR_SUBCMD_UNSPEC = 0,
@@ -241,7 +194,7 @@
 	QCA_NL80211_VENDOR_SUBCMD_AVOID_FREQUENCY = 10,
 	QCA_NL80211_VENDOR_SUBCMD_DFS_CAPABILITY =  11,
 	QCA_NL80211_VENDOR_SUBCMD_NAN =  12,
-	QCA_NL80211_VENDOR_SUBCMD_STATS_EXT = 13,
+	QCA_NL80211_VENDOR_SUBMCD_STATS_EXT = 13,
 	QCA_NL80211_VENDOR_SUBCMD_LL_STATS_SET = 14,
 	QCA_NL80211_VENDOR_SUBCMD_LL_STATS_GET = 15,
 	QCA_NL80211_VENDOR_SUBCMD_LL_STATS_CLR = 16,
@@ -332,12 +285,6 @@
 	QCA_NL80211_VENDOR_SUBCMD_AOA_MEAS_RESULT = 136,
 	QCA_NL80211_VENDOR_SUBCMD_ENCRYPTION_TEST = 137,
 	QCA_NL80211_VENDOR_SUBCMD_GET_CHAIN_RSSI = 138,
-	/* DMG low level RF sector operations */
-	QCA_NL80211_VENDOR_SUBCMD_DMG_RF_GET_SECTOR_CFG = 139,
-	QCA_NL80211_VENDOR_SUBCMD_DMG_RF_SET_SECTOR_CFG = 140,
-	QCA_NL80211_VENDOR_SUBCMD_DMG_RF_GET_SELECTED_SECTOR = 141,
-	QCA_NL80211_VENDOR_SUBCMD_DMG_RF_SET_SELECTED_SECTOR = 142,
-	QCA_NL80211_VENDOR_SUBCMD_CONFIGURE_TDLS = 143,
 };
 
 
@@ -445,42 +392,6 @@
 	/* Used in QCA_NL80211_VENDOR_SUBCMD_GET_CHAIN_RSSI command
 	 * to report the specific antenna RSSI value (unsigned 32 bit value) */
 	QCA_WLAN_VENDOR_ATTR_CHAIN_RSSI = 27,
-	/* Frequency in MHz, various uses. Unsigned 32 bit value */
-	QCA_WLAN_VENDOR_ATTR_FREQ = 28,
-	/* TSF timer value, unsigned 64 bit value.
-	 * May be returned by various commands.
-	 */
-	QCA_WLAN_VENDOR_ATTR_TSF = 29,
-	/* DMG RF sector index, unsigned 16 bit number. Valid values are
-	 * 0..127 for sector indices or 65535 as special value used to
-	 * unlock sector selection in
-	 * QCA_NL80211_VENDOR_SUBCMD_DMG_RF_SET_SELECTED_SECTOR.
-	 */
-	QCA_WLAN_VENDOR_ATTR_DMG_RF_SECTOR_INDEX = 30,
-	/* DMG RF sector type, unsigned 8 bit value. One of the values
-	 * in enum qca_wlan_vendor_attr_dmg_rf_sector_type.
-	 */
-	QCA_WLAN_VENDOR_ATTR_DMG_RF_SECTOR_TYPE = 31,
-	/* Bitmask of DMG RF modules for which information is requested. Each
-	 * bit corresponds to an RF module with the same index as the bit
-	 * number. Unsigned 32 bit number but only low 8 bits can be set since
-	 * all DMG chips currently have up to 8 RF modules.
-	 */
-	QCA_WLAN_VENDOR_ATTR_DMG_RF_MODULE_MASK = 32,
-	/* Array of nested attributes where each entry is DMG RF sector
-	 * configuration for a single RF module.
-	 * Attributes for each entry are taken from enum
-	 * qca_wlan_vendor_attr_dmg_rf_sector_cfg.
-	 * Specified in QCA_NL80211_VENDOR_SUBCMD_DMG_RF_SET_SECTOR_CFG
-	 * and returned by QCA_NL80211_VENDOR_SUBCMD_DMG_RF_GET_SECTOR_CFG.
-	 */
-	QCA_WLAN_VENDOR_ATTR_DMG_RF_SECTOR_CFG = 33,
-	/* Used in QCA_NL80211_VENDOR_SUBCMD_STATS_EXT command
-	 * to report frame aggregation statistics to userspace.
-	 */
-	QCA_WLAN_VENDOR_ATTR_RX_AGGREGATION_STATS_HOLES_NUM = 34,
-	QCA_WLAN_VENDOR_ATTR_RX_AGGREGATION_STATS_HOLES_INFO = 35,
-
 	/* keep last */
 	QCA_WLAN_VENDOR_ATTR_AFTER_LAST,
 	QCA_WLAN_VENDOR_ATTR_MAX	= QCA_WLAN_VENDOR_ATTR_AFTER_LAST - 1,
@@ -878,13 +789,13 @@
  * QCA_NL80211_VENDOR_SUBCMD_GET_WIFI_CONFIGURATION subcommands.
  */
 enum qca_wlan_vendor_attr_config {
-	QCA_WLAN_VENDOR_ATTR_CONFIG_INVALID = 0,
+	QCA_WLAN_VENDOR_ATTR_CONFIG_INVALID,
 	/* Unsigned 32-bit value to set the DTIM period.
 	 * Whether the wifi chipset wakes at every dtim beacon or a multiple of
 	 * the DTIM period. If DTIM is set to 3, the STA shall wake up every 3
 	 * DTIM beacons.
 	 */
-	QCA_WLAN_VENDOR_ATTR_CONFIG_DYNAMIC_DTIM = 1,
+	QCA_WLAN_VENDOR_ATTR_CONFIG_DYNAMIC_DTIM,
 	/* Unsigned 32-bit value to set the wifi_iface stats averaging factor
 	 * used to calculate statistics like average the TSF offset or average
 	 * number of frame leaked.
@@ -893,52 +804,52 @@
 	 * For instance, when evaluating leaky APs:
 	 * current_avg = ((num frame received within guard time) * factor + previous_avg * (0x10000 - factor)) / 0x10000
 	 */
-	QCA_WLAN_VENDOR_ATTR_CONFIG_STATS_AVG_FACTOR = 2,
+	QCA_WLAN_VENDOR_ATTR_CONFIG_STATS_AVG_FACTOR,
 	/* Unsigned 32-bit value to configure guard time, i.e., when
 	 * implementing IEEE power management based on frame control PM bit, how
 	 * long the driver waits before shutting down the radio and after
 	 * receiving an ACK frame for a Data frame with PM bit set.
 	 */
-	QCA_WLAN_VENDOR_ATTR_CONFIG_GUARD_TIME = 3,
+	QCA_WLAN_VENDOR_ATTR_CONFIG_GUARD_TIME,
 	/* Unsigned 32-bit value to change the FTM capability dynamically */
-	QCA_WLAN_VENDOR_ATTR_CONFIG_FINE_TIME_MEASUREMENT = 4,
+	QCA_WLAN_VENDOR_ATTR_CONFIG_FINE_TIME_MEASUREMENT,
 	/* Unsigned 16-bit value to configure maximum TX rate dynamically */
-	QCA_WLAN_VENDOR_ATTR_CONF_TX_RATE = 5,
+	QCA_WLAN_VENDOR_ATTR_CONF_TX_RATE,
 	/* Unsigned 32-bit value to configure the number of continuous
 	 * Beacon Miss which shall be used by the firmware to penalize
 	 * the RSSI.
 	 */
-	QCA_WLAN_VENDOR_ATTR_CONFIG_PENALIZE_AFTER_NCONS_BEACON_MISS = 6,
+	QCA_WLAN_VENDOR_ATTR_CONFIG_PENALIZE_AFTER_NCONS_BEACON_MISS,
 	/* Unsigned 8-bit value to configure the channel avoidance indication
 	 * behavior. Firmware to send only one indication and ignore duplicate
 	 * indications when set to avoid multiple Apps wakeups.
 	 */
-	QCA_WLAN_VENDOR_ATTR_CONFIG_CHANNEL_AVOIDANCE_IND = 7,
+	QCA_WLAN_VENDOR_ATTR_CONFIG_CHANNEL_AVOIDANCE_IND,
 	/* 8-bit unsigned value to configure the maximum TX MPDU for
 	 * aggregation. */
-	QCA_WLAN_VENDOR_ATTR_CONFIG_TX_MPDU_AGGREGATION = 8,
+	QCA_WLAN_VENDOR_ATTR_CONFIG_TX_MPDU_AGGREGATION,
 	/* 8-bit unsigned value to configure the maximum RX MPDU for
 	 * aggregation. */
-	QCA_WLAN_VENDOR_ATTR_CONFIG_RX_MPDU_AGGREGATION = 9,
+	QCA_WLAN_VENDOR_ATTR_CONFIG_RX_MPDU_AGGREGATION,
 	/* 8-bit unsigned value to configure the Non aggregrate/11g sw
 	 * retry threshold (0 disable, 31 max). */
-	QCA_WLAN_VENDOR_ATTR_CONFIG_NON_AGG_RETRY = 10,
+	QCA_WLAN_VENDOR_ATTR_CONFIG_NON_AGG_RETRY,
 	/* 8-bit unsigned value to configure the aggregrate sw
 	 * retry threshold (0 disable, 31 max). */
-	QCA_WLAN_VENDOR_ATTR_CONFIG_AGG_RETRY = 11,
+	QCA_WLAN_VENDOR_ATTR_CONFIG_AGG_RETRY,
 	/* 8-bit unsigned value to configure the MGMT frame
 	 * retry threshold (0 disable, 31 max). */
-	QCA_WLAN_VENDOR_ATTR_CONFIG_MGMT_RETRY = 12,
+	QCA_WLAN_VENDOR_ATTR_CONFIG_MGMT_RETRY,
 	/* 8-bit unsigned value to configure the CTRL frame
 	 * retry threshold (0 disable, 31 max). */
-	QCA_WLAN_VENDOR_ATTR_CONFIG_CTRL_RETRY = 13,
+	QCA_WLAN_VENDOR_ATTR_CONFIG_CTRL_RETRY,
 	/* 8-bit unsigned value to configure the propagation delay for
 	 * 2G/5G band (0~63, units in us) */
-	QCA_WLAN_VENDOR_ATTR_CONFIG_PROPAGATION_DELAY = 14,
+	QCA_WLAN_VENDOR_ATTR_CONFIG_PROPAGATION_DELAY,
 	/* Unsigned 32-bit value to configure the number of unicast TX fail
 	 * packet count. The peer is disconnected once this threshold is
 	 * reached. */
-	QCA_WLAN_VENDOR_ATTR_CONFIG_TX_FAIL_COUNT = 15,
+	QCA_WLAN_VENDOR_ATTR_CONFIG_TX_FAIL_COUNT,
 	/* Attribute used to set scan default IEs to the driver.
 	 *
 	 * These IEs can be used by scan operations that will be initiated by
@@ -949,62 +860,50 @@
 	 * driver. If a particular IE is present in the scan default IEs but not
 	 * present in the scan request, then that IE should be added to the IEs
 	 * sent in the Probe Request frames for that scan request. */
-	QCA_WLAN_VENDOR_ATTR_CONFIG_SCAN_DEFAULT_IES = 16,
+	QCA_WLAN_VENDOR_ATTR_CONFIG_SCAN_DEFAULT_IES,
 	/* Unsigned 32-bit attribute for generic commands */
-	QCA_WLAN_VENDOR_ATTR_CONFIG_GENERIC_COMMAND = 17,
+	QCA_WLAN_VENDOR_ATTR_CONFIG_GENERIC_COMMAND,
 	/* Unsigned 32-bit value attribute for generic commands */
-	QCA_WLAN_VENDOR_ATTR_CONFIG_GENERIC_VALUE = 18,
+	QCA_WLAN_VENDOR_ATTR_CONFIG_GENERIC_VALUE,
 	/* Unsigned 32-bit data attribute for generic command response */
-	QCA_WLAN_VENDOR_ATTR_CONFIG_GENERIC_DATA = 19,
+	QCA_WLAN_VENDOR_ATTR_CONFIG_GENERIC_DATA,
 	/* Unsigned 32-bit length attribute for
 	 * QCA_WLAN_VENDOR_ATTR_CONFIG_GENERIC_DATA */
-	QCA_WLAN_VENDOR_ATTR_CONFIG_GENERIC_LENGTH = 20,
+	QCA_WLAN_VENDOR_ATTR_CONFIG_GENERIC_LENGTH,
 	/* Unsigned 32-bit flags attribute for
 	 * QCA_WLAN_VENDOR_ATTR_CONFIG_GENERIC_DATA */
-	QCA_WLAN_VENDOR_ATTR_CONFIG_GENERIC_FLAGS = 21,
+	QCA_WLAN_VENDOR_ATTR_CONFIG_GENERIC_FLAGS,
 	/* Unsigned 32-bit, defining the access policy.
 	 * See enum qca_access_policy. Used with
 	 * QCA_WLAN_VENDOR_ATTR_CONFIG_ACCESS_POLICY_IE_LIST. */
-	QCA_WLAN_VENDOR_ATTR_CONFIG_ACCESS_POLICY = 22,
+	QCA_WLAN_VENDOR_ATTR_CONFIG_ACCESS_POLICY,
 	/* Sets the list of full set of IEs for which a specific access policy
 	 * has to be applied. Used along with
 	 * QCA_WLAN_VENDOR_ATTR_CONFIG_ACCESS_POLICY to control the access.
 	 * Zero length payload can be used to clear this access constraint. */
-	QCA_WLAN_VENDOR_ATTR_CONFIG_ACCESS_POLICY_IE_LIST = 23,
+	QCA_WLAN_VENDOR_ATTR_CONFIG_ACCESS_POLICY_IE_LIST,
 	/* Unsigned 32-bit, specifies the interface index (netdev) for which the
 	 * corresponding configurations are applied. If the interface index is
 	 * not specified, the configurations are attributed to the respective
 	 * wiphy. */
-	QCA_WLAN_VENDOR_ATTR_CONFIG_IFINDEX = 24,
+	QCA_WLAN_VENDOR_ATTR_CONFIG_IFINDEX,
 	/* 8-bit unsigned value to trigger QPower: 1-Enable, 0-Disable */
-	QCA_WLAN_VENDOR_ATTR_CONFIG_QPOWER = 25,
+	QCA_WLAN_VENDOR_ATTR_CONFIG_QPOWER,
 	/* 8-bit unsigned value to configure the driver and below layers to
 	 * ignore the assoc disallowed set by APs while connecting
 	 * 1-Ignore, 0-Don't ignore */
-	QCA_WLAN_VENDOR_ATTR_CONFIG_IGNORE_ASSOC_DISALLOWED = 26,
+	QCA_WLAN_VENDOR_ATTR_CONFIG_IGNORE_ASSOC_DISALLOWED,
 	/* 32-bit unsigned value to trigger antenna diversity features:
 	 * 1-Enable, 0-Disable */
-	QCA_WLAN_VENDOR_ATTR_CONFIG_ANT_DIV_ENA = 27,
+	QCA_WLAN_VENDOR_ATTR_CONFIG_ANT_DIV_ENA,
 	/* 32-bit unsigned value to configure specific chain antenna */
-	QCA_WLAN_VENDOR_ATTR_CONFIG_ANT_DIV_CHAIN = 28,
+	QCA_WLAN_VENDOR_ATTR_CONFIG_ANT_DIV_CHAIN,
 	/* 32-bit unsigned value to trigger cycle selftest
 	 * 1-Enable, 0-Disable */
-	QCA_WLAN_VENDOR_ATTR_CONFIG_ANT_DIV_SELFTEST = 29,
+	QCA_WLAN_VENDOR_ATTR_CONFIG_ANT_DIV_SELFTEST,
 	/* 32-bit unsigned to configure the cycle time of selftest
 	 * the unit is micro-second */
-	QCA_WLAN_VENDOR_ATTR_CONFIG_ANT_DIV_SELFTEST_INTVL = 30,
-	/* 32-bit unsigned value to set reorder timeout for AC_VO */
-	QCA_WLAN_VENDOR_ATTR_CONFIG_RX_REORDER_TIMEOUT_VOICE = 31,
-	/* 32-bit unsigned value to set reorder timeout for AC_VI */
-	QCA_WLAN_VENDOR_ATTR_CONFIG_RX_REORDER_TIMEOUT_VIDEO = 32,
-	/* 32-bit unsigned value to set reorder timeout for AC_BE */
-	QCA_WLAN_VENDOR_ATTR_CONFIG_RX_REORDER_TIMEOUT_BESTEFFORT = 33,
-	/* 32-bit unsigned value to set reorder timeout for AC_BK */
-	QCA_WLAN_VENDOR_ATTR_CONFIG_RX_REORDER_TIMEOUT_BACKGROUND = 34,
-	/* 6-byte MAC address to point out the specific peer */
-	QCA_WLAN_VENDOR_ATTR_CONFIG_RX_BLOCKSIZE_PEER_MAC = 35,
-	/* 32-bit unsigned value to set window size for specific peer */
-	QCA_WLAN_VENDOR_ATTR_CONFIG_RX_BLOCKSIZE_WINLIMIT = 36,
+	QCA_WLAN_VENDOR_ATTR_CONFIG_ANT_DIV_SELFTEST_INTVL,
 
 	/* keep last */
 	QCA_WLAN_VENDOR_ATTR_CONFIG_AFTER_LAST,
@@ -1421,10 +1320,6 @@
  * @QCA_WLAN_VENDOR_ATTR_FTM_PEER_AOA_BURST_PERIOD: Request AOA
  *	measurement every <value> bursts. If 0 or not specified,
  *	AOA measurements will be disabled for this peer.
- * @QCA_WLAN_VENDOR_ATTR_FTM_PEER_FREQ: Frequency in MHz where
- *	the measurement frames are exchanged. Optional; if not
- *	specified, try to locate the peer in the kernel scan
- *	results cache and use frequency from there.
  */
 enum qca_wlan_vendor_attr_ftm_peer_info {
 	QCA_WLAN_VENDOR_ATTR_FTM_PEER_INVALID,
@@ -1433,7 +1328,6 @@
 	QCA_WLAN_VENDOR_ATTR_FTM_PEER_MEAS_PARAMS,
 	QCA_WLAN_VENDOR_ATTR_FTM_PEER_SECURE_TOKEN_ID,
 	QCA_WLAN_VENDOR_ATTR_FTM_PEER_AOA_BURST_PERIOD,
-	QCA_WLAN_VENDOR_ATTR_FTM_PEER_FREQ,
 	/* keep last */
 	QCA_WLAN_VENDOR_ATTR_FTM_PEER_AFTER_LAST,
 	QCA_WLAN_VENDOR_ATTR_FTM_PEER_MAX =
@@ -1693,518 +1587,4 @@
 	QCA_WLAN_VENDOR_ATTR_ENCRYPTION_TEST_AFTER_LAST - 1
 };
 
-/**
- * enum qca_wlan_vendor_attr_dmg_rf_sector_type - Type of
- * sector for DMG RF sector operations.
- *
- * @QCA_WLAN_VENDOR_ATTR_DMG_RF_SECTOR_TYPE_RX: RX sector
- * @QCA_WLAN_VENDOR_ATTR_DMG_RF_SECTOR_TYPE_TX: TX sector
- */
-enum qca_wlan_vendor_attr_dmg_rf_sector_type {
-	QCA_WLAN_VENDOR_ATTR_DMG_RF_SECTOR_TYPE_RX,
-	QCA_WLAN_VENDOR_ATTR_DMG_RF_SECTOR_TYPE_TX,
-	QCA_WLAN_VENDOR_ATTR_DMG_RF_SECTOR_TYPE_MAX
-};
-
-/**
- * enum qca_wlan_vendor_attr_dmg_rf_sector_cfg - Attributes for
- * DMG RF sector configuration for a single RF module.
- * The values are defined in a compact way which closely matches
- * the way it is stored in HW registers.
- * The configuration provides values for 32 antennas and 8 distribution
- * amplifiers, and together describes the characteristics of the RF
- * sector - such as a beam in some direction with some gain.
- *
- * @QCA_WLAN_VENDOR_ATTR_DMG_RF_SECTOR_CFG_MODULE_INDEX: Index
- *	of RF module for this configuration.
- * @QCA_WLAN_VENDOR_ATTR_DMG_RF_SECTOR_CFG_ETYPE0: Bit 0 of edge
- *	amplifier gain index. Unsigned 32 bit number containing
- *	bits for all 32 antennas.
- * @QCA_WLAN_VENDOR_ATTR_DMG_RF_SECTOR_CFG_ETYPE1: Bit 1 of edge
- *	amplifier gain index. Unsigned 32 bit number containing
- *	bits for all 32 antennas.
- * @QCA_WLAN_VENDOR_ATTR_DMG_RF_SECTOR_CFG_ETYPE2: Bit 2 of edge
- *	amplifier gain index. Unsigned 32 bit number containing
- *	bits for all 32 antennas.
- * @QCA_WLAN_VENDOR_ATTR_DMG_RF_SECTOR_CFG_PSH_HI: Phase values
- *	for first 16 antennas, 2 bits per antenna.
- * @QCA_WLAN_VENDOR_ATTR_DMG_RF_SECTOR_CFG_PSH_LO: Phase values
- *	for last 16 antennas, 2 bits per antenna.
- * @QCA_WLAN_VENDOR_ATTR_DMG_RF_SECTOR_CFG_DTYPE_X16: Contains
- *	DTYPE values (3 bits) for each distribution amplifier, followed
- *	by X16 switch bits for each distribution amplifier. There are
- *	total of 8 distribution amplifiers.
- */
-enum qca_wlan_vendor_attr_dmg_rf_sector_cfg {
-	QCA_WLAN_VENDOR_ATTR_DMG_RF_SECTOR_CFG_INVALID = 0,
-	QCA_WLAN_VENDOR_ATTR_DMG_RF_SECTOR_CFG_MODULE_INDEX = 1,
-	QCA_WLAN_VENDOR_ATTR_DMG_RF_SECTOR_CFG_ETYPE0 = 2,
-	QCA_WLAN_VENDOR_ATTR_DMG_RF_SECTOR_CFG_ETYPE1 = 3,
-	QCA_WLAN_VENDOR_ATTR_DMG_RF_SECTOR_CFG_ETYPE2 = 4,
-	QCA_WLAN_VENDOR_ATTR_DMG_RF_SECTOR_CFG_PSH_HI = 5,
-	QCA_WLAN_VENDOR_ATTR_DMG_RF_SECTOR_CFG_PSH_LO = 6,
-	QCA_WLAN_VENDOR_ATTR_DMG_RF_SECTOR_CFG_DTYPE_X16 = 7,
-
-	/* keep last */
-	QCA_WLAN_VENDOR_ATTR_DMG_RF_SECTOR_CFG_AFTER_LAST,
-	QCA_WLAN_VENDOR_ATTR_DMG_RF_SECTOR_CFG_MAX =
-	QCA_WLAN_VENDOR_ATTR_DMG_RF_SECTOR_CFG_AFTER_LAST - 1
-};
-
-enum qca_wlan_vendor_attr_ll_stats_set {
-	QCA_WLAN_VENDOR_ATTR_LL_STATS_SET_INVALID = 0,
-	/* Unsigned 32-bit value */
-	QCA_WLAN_VENDOR_ATTR_LL_STATS_SET_CONFIG_MPDU_SIZE_THRESHOLD = 1,
-	QCA_WLAN_VENDOR_ATTR_LL_STATS_SET_CONFIG_AGGRESSIVE_STATS_GATHERING = 2,
-	/* keep last */
-	QCA_WLAN_VENDOR_ATTR_LL_STATS_SET_AFTER_LAST,
-	QCA_WLAN_VENDOR_ATTR_LL_STATS_SET_MAX =
-	QCA_WLAN_VENDOR_ATTR_LL_STATS_SET_AFTER_LAST - 1,
-};
-
-enum qca_wlan_vendor_attr_ll_stats_clr {
-	QCA_WLAN_VENDOR_ATTR_LL_STATS_CLR_INVALID = 0,
-	/* Unsigned 32bit bitmap for clearing statistics
-	 * All radio statistics                     0x00000001
-	 * cca_busy_time (within radio statistics)  0x00000002
-	 * All channel stats (within radio statistics) 0x00000004
-	 * All scan statistics (within radio statistics) 0x00000008
-	 * All interface statistics                     0x00000010
-	 * All tx rate statistics (within interface statistics) 0x00000020
-	 * All ac statistics (with in interface statistics) 0x00000040
-	 * All contention (min, max, avg) statistics (within ac statisctics)
-	 * 0x00000080.
-	 */
-	QCA_WLAN_VENDOR_ATTR_LL_STATS_CLR_CONFIG_REQ_MASK = 1,
-	/* Unsigned 8 bit value: Request to stop statistics collection */
-	QCA_WLAN_VENDOR_ATTR_LL_STATS_CLR_CONFIG_STOP_REQ = 2,
-
-	/* Unsigned 32 bit bitmap: Response from the driver
-	 * for the cleared statistics
-	 */
-	QCA_WLAN_VENDOR_ATTR_LL_STATS_CLR_CONFIG_RSP_MASK = 3,
-	/* Unsigned 8 bit value: Response from driver/firmware
-	 * for the stop request
-	 */
-	QCA_WLAN_VENDOR_ATTR_LL_STATS_CLR_CONFIG_STOP_RSP = 4,
-	/* keep last */
-	QCA_WLAN_VENDOR_ATTR_LL_STATS_CLR_AFTER_LAST,
-	QCA_WLAN_VENDOR_ATTR_LL_STATS_CLR_MAX =
-	QCA_WLAN_VENDOR_ATTR_LL_STATS_CLR_AFTER_LAST - 1,
-};
-
-enum qca_wlan_vendor_attr_ll_stats_get {
-	QCA_WLAN_VENDOR_ATTR_LL_STATS_GET_INVALID = 0,
-	/* Unsigned 32 bit value provided by the caller issuing the GET stats
-	 * command. When reporting the stats results, the driver uses the same
-	 * value to indicate which GET request the results correspond to.
-	 */
-	QCA_WLAN_VENDOR_ATTR_LL_STATS_GET_CONFIG_REQ_ID = 1,
-	/* Unsigned 32 bit value - bit mask to identify what statistics are
-	 * requested for retrieval.
-	 * Radio Statistics 0x00000001
-	 * Interface Statistics 0x00000020
-	 * All Peer Statistics 0x00000040
-	 * Peer Statistics     0x00000080
-	 */
-	QCA_WLAN_VENDOR_ATTR_LL_STATS_GET_CONFIG_REQ_MASK = 2,
-	/* keep last */
-	QCA_WLAN_VENDOR_ATTR_LL_STATS_GET_AFTER_LAST,
-	QCA_WLAN_VENDOR_ATTR_LL_STATS_GET_MAX =
-	QCA_WLAN_VENDOR_ATTR_LL_STATS_GET_AFTER_LAST - 1,
-};
-
-enum qca_wlan_vendor_attr_ll_stats_results {
-	QCA_WLAN_VENDOR_ATTR_LL_STATS_INVALID = 0,
-	/* Unsigned 32bit value. Used by the driver; must match the request id
-	 * provided with the QCA_NL80211_VENDOR_SUBCMD_LL_STATS_GET command.
-	 */
-	QCA_WLAN_VENDOR_ATTR_LL_STATS_RESULTS_REQ_ID = 1,
-
-	/* Unsigned 32 bit value */
-	QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_BEACON_RX = 2,
-	/* Unsigned 32 bit value */
-	QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_MGMT_RX = 3,
-	/* Unsigned 32 bit value */
-	QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_MGMT_ACTION_RX = 4,
-	/* Unsigned 32 bit value */
-	QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_MGMT_ACTION_TX = 5,
-	/* Signed 32 bit value */
-	QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_RSSI_MGMT = 6,
-	/* Signed 32 bit value */
-	QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_RSSI_DATA = 7,
-	/* Signed 32 bit value */
-	QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_RSSI_ACK = 8,
-
-	/* Attributes of type QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_INFO_* are
-	 * nested within the interface stats.
-	 */
-
-	/* Interface mode, e.g., STA, SOFTAP, IBSS, etc.
-	 * Type = enum wifi_interface_mode.
-	 */
-	QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_INFO_MODE = 9,
-	/* Interface MAC address. An array of 6 Unsigned int8 */
-	QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_INFO_MAC_ADDR = 10,
-	/* Type = enum wifi_connection_state, e.g., DISCONNECTED,
-	 * AUTHENTICATING, etc. valid for STA, CLI only.
-	 */
-	QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_INFO_STATE = 11,
-	/* Type = enum wifi_roam_state. Roaming state, e.g., IDLE or ACTIVE
-	 */
-	QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_INFO_ROAMING = 12,
-	/* Unsigned 32 bit value. WIFI_CAPABILITY_XXX */
-	QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_INFO_CAPABILITIES = 13,
-	/* NULL terminated SSID. An array of 33 Unsigned 8bit values */
-	QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_INFO_SSID = 14,
-	/* BSSID. An array of 6 unsigned 8 bit values */
-	QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_INFO_BSSID = 15,
-	/* Country string advertised by AP. An array of 3 unsigned 8 bit
-	 * values.
-	 */
-	QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_INFO_AP_COUNTRY_STR = 16,
-	/* Country string for this association. An array of 3 unsigned 8 bit
-	 * values.
-	 */
-	QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_INFO_COUNTRY_STR = 17,
-
-	/* Attributes of type QCA_WLAN_VENDOR_ATTR_LL_STATS_WMM_AC_* could
-	 * be nested within the interface stats.
-	 */
-
-	/* Type = enum wifi_traffic_ac, e.g., V0, VI, BE and BK */
-	QCA_WLAN_VENDOR_ATTR_LL_STATS_WMM_AC_AC = 18,
-	/* Unsigned int 32 value corresponding to respective AC */
-	QCA_WLAN_VENDOR_ATTR_LL_STATS_WMM_AC_TX_MPDU = 19,
-	/* Unsigned int 32 value corresponding to respective AC */
-	QCA_WLAN_VENDOR_ATTR_LL_STATS_WMM_AC_RX_MPDU = 20,
-	/* Unsigned int 32 value corresponding to respective AC */
-	QCA_WLAN_VENDOR_ATTR_LL_STATS_WMM_AC_TX_MCAST = 21,
-	/* Unsigned int 32 value corresponding to respective AC */
-	QCA_WLAN_VENDOR_ATTR_LL_STATS_WMM_AC_RX_MCAST = 22,
-	/* Unsigned int 32 value corresponding to respective AC */
-	QCA_WLAN_VENDOR_ATTR_LL_STATS_WMM_AC_RX_AMPDU = 23,
-	/* Unsigned int 32 value corresponding to respective AC */
-	QCA_WLAN_VENDOR_ATTR_LL_STATS_WMM_AC_TX_AMPDU = 24,
-	/* Unsigned int 32 value corresponding to respective AC */
-	QCA_WLAN_VENDOR_ATTR_LL_STATS_WMM_AC_MPDU_LOST = 25,
-	/* Unsigned int 32 value corresponding to respective AC */
-	QCA_WLAN_VENDOR_ATTR_LL_STATS_WMM_AC_RETRIES = 26,
-	/* Unsigned int 32 value corresponding to respective AC  */
-	QCA_WLAN_VENDOR_ATTR_LL_STATS_WMM_AC_RETRIES_SHORT = 27,
-	/* Unsigned int 32 values corresponding to respective AC */
-	QCA_WLAN_VENDOR_ATTR_LL_STATS_WMM_AC_RETRIES_LONG = 28,
-	/* Unsigned int 32 values corresponding to respective AC */
-	QCA_WLAN_VENDOR_ATTR_LL_STATS_WMM_AC_CONTENTION_TIME_MIN = 29,
-	/* Unsigned int 32 values corresponding to respective AC */
-	QCA_WLAN_VENDOR_ATTR_LL_STATS_WMM_AC_CONTENTION_TIME_MAX = 30,
-	/* Unsigned int 32 values corresponding to respective AC */
-	QCA_WLAN_VENDOR_ATTR_LL_STATS_WMM_AC_CONTENTION_TIME_AVG = 31,
-	/* Unsigned int 32 values corresponding to respective AC */
-	QCA_WLAN_VENDOR_ATTR_LL_STATS_WMM_AC_CONTENTION_NUM_SAMPLES = 32,
-	/* Unsigned 32 bit value. Number of peers */
-	QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_NUM_PEERS = 33,
-
-	/* Attributes of type QCA_WLAN_VENDOR_ATTR_LL_STATS_PEER_INFO_* are
-	 * nested within the interface stats.
-	 */
-
-	/* Type = enum wifi_peer_type. Peer type, e.g., STA, AP, P2P GO etc. */
-	QCA_WLAN_VENDOR_ATTR_LL_STATS_PEER_INFO_TYPE = 34,
-	/* MAC addr corresponding to respective peer. An array of 6 unsigned
-	 * 8 bit values.
-	 */
-	QCA_WLAN_VENDOR_ATTR_LL_STATS_PEER_INFO_MAC_ADDRESS = 35,
-	/* Unsigned int 32 bit value representing capabilities corresponding
-	 * to respective peer.
-	 */
-	QCA_WLAN_VENDOR_ATTR_LL_STATS_PEER_INFO_CAPABILITIES = 36,
-	/* Unsigned 32 bit value. Number of rates */
-	QCA_WLAN_VENDOR_ATTR_LL_STATS_PEER_INFO_NUM_RATES = 37,
-
-	/* Attributes of type QCA_WLAN_VENDOR_ATTR_LL_STATS_RATE_*
-	 * are nested within the rate stat.
-	 */
-
-	/* Wi-Fi Rate - separate attributes defined for individual fields */
-
-	/* Unsigned int 8 bit value; 0: OFDM, 1:CCK, 2:HT 3:VHT 4..7 reserved */
-	QCA_WLAN_VENDOR_ATTR_LL_STATS_RATE_PREAMBLE = 38,
-	/* Unsigned int 8 bit value; 0:1x1, 1:2x2, 3:3x3, 4:4x4 */
-	QCA_WLAN_VENDOR_ATTR_LL_STATS_RATE_NSS = 39,
-	/* Unsigned int 8 bit value; 0:20 MHz, 1:40 MHz, 2:80 MHz, 3:160 MHz */
-	QCA_WLAN_VENDOR_ATTR_LL_STATS_RATE_BW = 40,
-	/* Unsigned int 8 bit value; OFDM/CCK rate code would be as per IEEE Std
-	 * in the units of 0.5 Mbps HT/VHT it would be MCS index */
-	QCA_WLAN_VENDOR_ATTR_LL_STATS_RATE_MCS_INDEX = 41,
-
-	/* Unsigned 32 bit value. Bit rate in units of 100 kbps */
-	QCA_WLAN_VENDOR_ATTR_LL_STATS_RATE_BIT_RATE = 42,
-
-
-	/* Attributes of type QCA_WLAN_VENDOR_ATTR_LL_STATS_RATE_STAT_* could be
-	 * nested within the peer info stats.
-	 */
-
-	/* Unsigned int 32 bit value. Number of successfully transmitted data
-	 * packets, i.e., with ACK received corresponding to the respective
-	 * rate.
-	 */
-	QCA_WLAN_VENDOR_ATTR_LL_STATS_RATE_TX_MPDU = 43,
-	/* Unsigned int 32 bit value. Number of received data packets
-	 * corresponding to the respective rate.
-	 */
-	QCA_WLAN_VENDOR_ATTR_LL_STATS_RATE_RX_MPDU = 44,
-	/* Unsigned int 32 bit value. Number of data packet losses, i.e., no ACK
-	 * received corresponding to the respective rate.
-	 */
-	QCA_WLAN_VENDOR_ATTR_LL_STATS_RATE_MPDU_LOST = 45,
-	/* Unsigned int 32 bit value. Total number of data packet retries for
-	 * the respective rate.
-	 */
-	QCA_WLAN_VENDOR_ATTR_LL_STATS_RATE_RETRIES = 46,
-	/* Unsigned int 32 bit value. Total number of short data packet retries
-	 * for the respective rate.
-	 */
-	QCA_WLAN_VENDOR_ATTR_LL_STATS_RATE_RETRIES_SHORT = 47,
-	/* Unsigned int 32 bit value. Total number of long data packet retries
-	 * for the respective rate.
-	 */
-	QCA_WLAN_VENDOR_ATTR_LL_STATS_RATE_RETRIES_LONG = 48,
-
-	QCA_WLAN_VENDOR_ATTR_LL_STATS_RADIO_ID = 49,
-	/* Unsigned 32 bit value. Total number of msecs the radio is awake
-	 * accruing over time.
-	 */
-	QCA_WLAN_VENDOR_ATTR_LL_STATS_RADIO_ON_TIME = 50,
-	/* Unsigned 32 bit value. Total number of msecs the radio is
-	 * transmitting accruing over time.
-	 */
-	QCA_WLAN_VENDOR_ATTR_LL_STATS_RADIO_TX_TIME = 51,
-	/* Unsigned 32 bit value. Total number of msecs the radio is in active
-	 * receive accruing over time.
-	 */
-	QCA_WLAN_VENDOR_ATTR_LL_STATS_RADIO_RX_TIME = 52,
-	/* Unsigned 32 bit value. Total number of msecs the radio is awake due
-	 * to all scan accruing over time.
-	 */
-	QCA_WLAN_VENDOR_ATTR_LL_STATS_RADIO_ON_TIME_SCAN = 53,
-	/* Unsigned 32 bit value. Total number of msecs the radio is awake due
-	 * to NAN accruing over time.
-	 */
-	QCA_WLAN_VENDOR_ATTR_LL_STATS_RADIO_ON_TIME_NBD = 54,
-	/* Unsigned 32 bit value. Total number of msecs the radio is awake due
-	 * to GSCAN accruing over time.
-	 */
-	QCA_WLAN_VENDOR_ATTR_LL_STATS_RADIO_ON_TIME_GSCAN = 55,
-	/* Unsigned 32 bit value. Total number of msecs the radio is awake due
-	 * to roam scan accruing over time.
-	 */
-	QCA_WLAN_VENDOR_ATTR_LL_STATS_RADIO_ON_TIME_ROAM_SCAN = 56,
-	/* Unsigned 32 bit value. Total number of msecs the radio is awake due
-	 * to PNO scan accruing over time.
-	 */
-	QCA_WLAN_VENDOR_ATTR_LL_STATS_RADIO_ON_TIME_PNO_SCAN = 57,
-	/* Unsigned 32 bit value. Total number of msecs the radio is awake due
-	 * to Hotspot 2.0 scans and GAS exchange accruing over time.
-	 */
-	QCA_WLAN_VENDOR_ATTR_LL_STATS_RADIO_ON_TIME_HS20 = 58,
-	/* Unsigned 32 bit value. Number of channels. */
-	QCA_WLAN_VENDOR_ATTR_LL_STATS_RADIO_NUM_CHANNELS = 59,
-
-	/* Attributes of type QCA_WLAN_VENDOR_ATTR_LL_STATS_CHANNEL_INFO_* could
-	 * be nested within the channel stats.
-	 */
-
-	/* Type = enum wifi_channel_width. Channel width, e.g., 20, 40, 80 */
-	QCA_WLAN_VENDOR_ATTR_LL_STATS_CHANNEL_INFO_WIDTH = 60,
-	/* Unsigned 32 bit value. Primary 20 MHz channel. */
-	QCA_WLAN_VENDOR_ATTR_LL_STATS_CHANNEL_INFO_CENTER_FREQ = 61,
-	/* Unsigned 32 bit value. Center frequency (MHz) first segment. */
-	QCA_WLAN_VENDOR_ATTR_LL_STATS_CHANNEL_INFO_CENTER_FREQ0 = 62,
-	/* Unsigned 32 bit value. Center frequency (MHz) second segment. */
-	QCA_WLAN_VENDOR_ATTR_LL_STATS_CHANNEL_INFO_CENTER_FREQ1 = 63,
-
-	/* Attributes of type QCA_WLAN_VENDOR_ATTR_LL_STATS_CHANNEL_* could be
-	 * nested within the radio stats.
-	 */
-
-	/* Unsigned int 32 bit value representing total number of msecs the
-	 * radio is awake on that channel accruing over time, corresponding to
-	 * the respective channel.
-	 */
-	QCA_WLAN_VENDOR_ATTR_LL_STATS_CHANNEL_ON_TIME = 64,
-	/* Unsigned int 32 bit value representing total number of msecs the CCA
-	 * register is busy accruing over time corresponding to the respective
-	 * channel.
-	 */
-	QCA_WLAN_VENDOR_ATTR_LL_STATS_CHANNEL_CCA_BUSY_TIME = 65,
-
-	QCA_WLAN_VENDOR_ATTR_LL_STATS_NUM_RADIOS = 66,
-
-	/* Signifies the nested list of channel attributes
-	 * QCA_WLAN_VENDOR_ATTR_LL_STATS_CHANNEL_INFO_*
-	 */
-	QCA_WLAN_VENDOR_ATTR_LL_STATS_CH_INFO = 67,
-
-	/* Signifies the nested list of peer info attributes
-	 * QCA_WLAN_VENDOR_ATTR_LL_STATS_PEER_INFO_*
-	 */
-	QCA_WLAN_VENDOR_ATTR_LL_STATS_PEER_INFO = 68,
-
-	/* Signifies the nested list of rate info attributes
-	 * QCA_WLAN_VENDOR_ATTR_LL_STATS_RATE_*
-	 */
-	QCA_WLAN_VENDOR_ATTR_LL_STATS_PEER_INFO_RATE_INFO = 69,
-
-	/* Signifies the nested list of wmm info attributes
-	 * QCA_WLAN_VENDOR_ATTR_LL_STATS_WMM_AC_*
-	 */
-	QCA_WLAN_VENDOR_ATTR_LL_STATS_WMM_INFO = 70,
-
-	/* Unsigned 8 bit value. Used by the driver; if set to 1, it indicates
-	 * that more stats, e.g., peers or radio, are to follow in the next
-	 * QCA_NL80211_VENDOR_SUBCMD_LL_STATS_*_RESULTS event.
-	 * Otherwise, it is set to 0.
-	 */
-	QCA_WLAN_VENDOR_ATTR_LL_STATS_RESULTS_MORE_DATA = 71,
-
-	/* Unsigned 64 bit value */
-	QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_AVERAGE_TSF_OFFSET = 72,
-
-	/* Unsigned 32 bit value */
-	QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_LEAKY_AP_DETECTED = 73,
-
-	/* Unsigned 32 bit value */
-	QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_LEAKY_AP_AVG_NUM_FRAMES_LEAKED = 74,
-
-	/* Unsigned 32 bit value */
-	QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_LEAKY_AP_GUARD_TIME = 75,
-
-	/* Unsigned 32 bit value */
-	QCA_WLAN_VENDOR_ATTR_LL_STATS_TYPE = 76,
-
-	/* Unsigned 32 bit value */
-	QCA_WLAN_VENDOR_ATTR_LL_STATS_RADIO_NUM_TX_LEVELS = 77,
-
-	/* Number of msecs the radio spent in transmitting for each power level
-	 */
-	QCA_WLAN_VENDOR_ATTR_LL_STATS_RADIO_TX_TIME_PER_LEVEL = 78,
-
-	/* Unsigned 32 bit value */
-	QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_RTS_SUCC_CNT = 79,
-	/* Unsigned 32 bit value */
-	QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_RTS_FAIL_CNT = 80,
-	/* Unsigned 32 bit value */
-	QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_PPDU_SUCC_CNT = 81,
-	/* Unsigned 32 bit value */
-	QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_PPDU_FAIL_CNT = 82,
-
-	/* keep last */
-	QCA_WLAN_VENDOR_ATTR_LL_STATS_AFTER_LAST,
-	QCA_WLAN_VENDOR_ATTR_LL_STATS_MAX =
-	QCA_WLAN_VENDOR_ATTR_LL_STATS_AFTER_LAST - 1,
-};
-
-enum qca_wlan_vendor_attr_ll_stats_type
-{
-	QCA_NL80211_VENDOR_SUBCMD_LL_STATS_TYPE_INVALID = 0,
-	QCA_NL80211_VENDOR_SUBCMD_LL_STATS_TYPE_RADIO = 1,
-	QCA_NL80211_VENDOR_SUBCMD_LL_STATS_TYPE_IFACE = 2,
-	QCA_NL80211_VENDOR_SUBCMD_LL_STATS_TYPE_PEERS = 3,
-
-	/* keep last */
-	QCA_NL80211_VENDOR_SUBCMD_LL_STATS_TYPE_AFTER_LAST,
-	QCA_NL80211_VENDOR_SUBCMD_LL_STATS_TYPE_MAX =
-	QCA_NL80211_VENDOR_SUBCMD_LL_STATS_TYPE_AFTER_LAST - 1,
-};
-
-/**
- * enum qca_wlan_vendor_attr_tdls_configuration - Attributes for
- * TDLS configuration to the host driver.
- *
- * @QCA_WLAN_VENDOR_ATTR_TDLS_CONFIG_TRIGGER_MODE: Configure the TDLS trigger
- *	mode in the host driver. enum qca_wlan_vendor_tdls_trigger_mode
- *	represents the different TDLS trigger modes.
- * @QCA_WLAN_VENDOR_ATTR_TDLS_CONFIG_TX_STATS_PERIOD: Duration (u32) within
- *      which QCA_WLAN_VENDOR_ATTR_TDLS_CONFIG_TX_THRESHOLD number
- *      of packets shall meet the criteria for implicit TDLS setup.
- * @QCA_WLAN_VENDOR_ATTR_TDLS_CONFIG_TX_THRESHOLD: Number (u32) of Tx/Rx packets
- *      within a duration QCA_WLAN_VENDOR_ATTR_TDLS_CONFIG_TX_STATS_PERIOD
- *      to initiate a TDLS setup.
- * @QCA_WLAN_VENDOR_ATTR_TDLS_CONFIG_DISCOVERY_PERIOD: Time (u32) to initiate
- *      a TDLS Discovery to the peer.
- * @QCA_WLAN_VENDOR_ATTR_TDLS_CONFIG_MAX_DISCOVERY_ATTEMPT: Max number (u32) of
- *      discovery attempts to know the TDLS capability of the peer. A peer is
- *      marked as TDLS not capable if there is no response for all the attempts.
- * @QCA_WLAN_VENDOR_ATTR_TDLS_CONFIG_IDLE_TIMEOUT: Represents a duration (u32)
- *      within which QCA_WLAN_VENDOR_ATTR_TDLS_CONFIG_IDLE_PACKET_THRESHOLD
- *      number of TX / RX frames meet the criteria for TDLS teardown.
- * @QCA_WLAN_VENDOR_ATTR_TDLS_CONFIG_IDLE_PACKET_THRESHOLD: Minimum number (u32)
- *      of Tx/Rx packets within a duration
- *      QCA_WLAN_VENDOR_ATTR_TDLS_CONFIG_IDLE_TIMEOUT to tear down a TDLS link.
- * @QCA_WLAN_VENDOR_ATTR_TDLS_CONFIG_SETUP_RSSI_THRESHOLD: Threshold
- *	corresponding to the RSSI of the peer below which a TDLS setup is
- *	triggered.
- * @QCA_WLAN_VENDOR_ATTR_TDLS_CONFIG_TEARDOWN_RSSI_THRESHOLD: Threshold
- *	corresponding to the RSSI of the peer above which a TDLS teardown is
- *	triggered.
- */
-enum qca_wlan_vendor_attr_tdls_configuration {
-	QCA_WLAN_VENDOR_ATTR_TDLS_CONFIG_INVALID = 0,
-	QCA_WLAN_VENDOR_ATTR_TDLS_CONFIG_TRIGGER_MODE = 1,
-
-	/* Attributes configuring the TDLS Implicit Trigger */
-	QCA_WLAN_VENDOR_ATTR_TDLS_CONFIG_TX_STATS_PERIOD = 2,
-	QCA_WLAN_VENDOR_ATTR_TDLS_CONFIG_TX_THRESHOLD = 3,
-	QCA_WLAN_VENDOR_ATTR_TDLS_CONFIG_DISCOVERY_PERIOD = 4,
-	QCA_WLAN_VENDOR_ATTR_TDLS_CONFIG_MAX_DISCOVERY_ATTEMPT = 5,
-	QCA_WLAN_VENDOR_ATTR_TDLS_CONFIG_IDLE_TIMEOUT = 6,
-	QCA_WLAN_VENDOR_ATTR_TDLS_CONFIG_IDLE_PACKET_THRESHOLD = 7,
-	QCA_WLAN_VENDOR_ATTR_TDLS_CONFIG_SETUP_RSSI_THRESHOLD = 8,
-	QCA_WLAN_VENDOR_ATTR_TDLS_CONFIG_TEARDOWN_RSSI_THRESHOLD = 9,
-
-	/* keep last */
-	QCA_WLAN_VENDOR_ATTR_TDLS_CONFIG_AFTER_LAST,
-	QCA_WLAN_VENDOR_ATTR_TDLS_CONFIG_MAX =
-	QCA_WLAN_VENDOR_ATTR_TDLS_CONFIG_AFTER_LAST - 1
-};
-
-/**
- * enum qca_wlan_vendor_tdls_trigger_mode: Represents the TDLS trigger mode in
- *	the driver
- *
- * The following are the different values for
- *	QCA_WLAN_VENDOR_ATTR_TDLS_CONFIG_TRIGGER_MODE.
- *
- * @QCA_WLAN_VENDOR_TDLS_TRIGGER_MODE_EXPLICIT: The trigger to initiate/teardown
- *	the TDLS connection to a respective peer comes from the user space.
- *	wpa_supplicant provides the commands TDLS_SETUP, TDLS_TEARDOWN,
- *	TDLS_DISCOVER to do this.
- * @QCA_WLAN_VENDOR_TDLS_TRIGGER_MODE_IMPLICIT: Host driver triggers this TDLS
- *	setup/teardown to the eligible peer once the configured criteria
- *	(such as TX/RX threshold, RSSI) is met. The attributes
- *	in QCA_WLAN_VENDOR_ATTR_TDLS_CONFIG_IMPLICIT_PARAMS correspond to
- *	the different configuration criteria for the TDLS trigger from the
- *	host driver.
- * @QCA_WLAN_VENDOR_TDLS_TRIGGER_MODE_EXTERNAL: Enables the driver to trigger
- *	the TDLS setup / teardown through the implicit mode only to the
- *	configured MAC addresses (wpa_supplicant, with tdls_external_control=1,
- *	configures the MAC address through TDLS_SETUP / TDLS_TEARDOWN commands).
- *	External mode works on top of the implicit mode. Thus the host driver
- *	is expected to configure in TDLS Implicit mode too to operate in
- *	External mode.
- *	Configuring External mode alone without	Implicit mode is invalid.
- *
- * All the above implementations work as expected only when the host driver
- * advertises the capability WPA_DRIVER_FLAGS_TDLS_EXTERNAL_SETUP - representing
- * that the TDLS message exchange is not internal to the host driver, but
- * depends on wpa_supplicant to do the message exchange.
- */
-enum qca_wlan_vendor_tdls_trigger_mode {
-	QCA_WLAN_VENDOR_TDLS_TRIGGER_MODE_EXPLICIT = 1 << 0,
-	QCA_WLAN_VENDOR_TDLS_TRIGGER_MODE_IMPLICIT = 1 << 1,
-	QCA_WLAN_VENDOR_TDLS_TRIGGER_MODE_EXTERNAL = 1 << 2,
-};
-
 #endif /* QCA_VENDOR_H */
diff --git a/src/common/version.h b/src/common/version.h
index 16c1004..ae5c9d4 100644
--- a/src/common/version.h
+++ b/src/common/version.h
@@ -9,6 +9,6 @@
 #define GIT_VERSION_STR_POSTFIX ""
 #endif /* GIT_VERSION_STR_POSTFIX */
 
-#define VERSION_STR "2.7-devel" VERSION_STR_POSTFIX GIT_VERSION_STR_POSTFIX
+#define VERSION_STR "2.6-devel" VERSION_STR_POSTFIX GIT_VERSION_STR_POSTFIX
 
 #endif /* VERSION_H */
diff --git a/src/common/wpa_common.c b/src/common/wpa_common.c
index a87210e..299b8bb 100644
--- a/src/common/wpa_common.c
+++ b/src/common/wpa_common.c
@@ -9,7 +9,6 @@
 #include "includes.h"
 
 #include "common.h"
-#include "utils/crc32.h"
 #include "crypto/md5.h"
 #include "crypto/sha1.h"
 #include "crypto/sha256.h"
@@ -23,49 +22,25 @@
 
 static unsigned int wpa_kck_len(int akmp)
 {
-	switch (akmp) {
-	case WPA_KEY_MGMT_IEEE8021X_SUITE_B_192:
+	if (akmp == WPA_KEY_MGMT_IEEE8021X_SUITE_B_192)
 		return 24;
-	case WPA_KEY_MGMT_FILS_SHA256:
-	case WPA_KEY_MGMT_FT_FILS_SHA256:
-	case WPA_KEY_MGMT_FILS_SHA384:
-	case WPA_KEY_MGMT_FT_FILS_SHA384:
-		return 0;
-	default:
-		return 16;
-	}
+	return 16;
 }
 
 
 static unsigned int wpa_kek_len(int akmp)
 {
-	switch (akmp) {
-	case WPA_KEY_MGMT_FILS_SHA384:
-	case WPA_KEY_MGMT_FT_FILS_SHA384:
-		return 64;
-	case WPA_KEY_MGMT_IEEE8021X_SUITE_B_192:
-	case WPA_KEY_MGMT_FILS_SHA256:
-	case WPA_KEY_MGMT_FT_FILS_SHA256:
+	if (akmp == WPA_KEY_MGMT_IEEE8021X_SUITE_B_192)
 		return 32;
-	default:
-		return 16;
-	}
+	return 16;
 }
 
 
 unsigned int wpa_mic_len(int akmp)
 {
-	switch (akmp) {
-	case WPA_KEY_MGMT_IEEE8021X_SUITE_B_192:
+	if (akmp == WPA_KEY_MGMT_IEEE8021X_SUITE_B_192)
 		return 24;
-	case WPA_KEY_MGMT_FILS_SHA256:
-	case WPA_KEY_MGMT_FILS_SHA384:
-	case WPA_KEY_MGMT_FT_FILS_SHA256:
-	case WPA_KEY_MGMT_FT_FILS_SHA384:
-		return 0;
-	default:
-		return 16;
-	}
+	return 16;
 }
 
 
@@ -229,155 +204,6 @@
 	return 0;
 }
 
-#ifdef CONFIG_FILS
-
-int fils_pmk_to_ptk(const u8 *pmk, size_t pmk_len, const u8 *spa, const u8 *aa,
-		    const u8 *snonce, const u8 *anonce, struct wpa_ptk *ptk,
-		    u8 *ick, size_t *ick_len, int akmp, int cipher)
-{
-	u8 data[2 * ETH_ALEN + 2 * FILS_NONCE_LEN];
-	u8 tmp[FILS_ICK_MAX_LEN + WPA_KEK_MAX_LEN + WPA_TK_MAX_LEN];
-	size_t key_data_len;
-	const char *label = "FILS PTK Derivation";
-
-	/*
-	 * FILS-Key-Data = PRF-X(PMK, "FILS PTK Derivation",
-	 *                       SPA || AA || SNonce || ANonce)
-	 * ICK = L(FILS-Key-Data, 0, ICK_bits)
-	 * KEK = L(FILS-Key-Data, ICK_bits, KEK_bits)
-	 * TK = L(FILS-Key-Data, ICK_bits + KEK_bits, TK_bits)
-	 * If doing FT initial mobility domain association:
-	 * FILS-FT = L(FILS-Key-Data, ICK_bits + KEK_bits + TK_bits,
-	 *             FILS-FT_bits)
-	 */
-	os_memcpy(data, spa, ETH_ALEN);
-	os_memcpy(data + ETH_ALEN, aa, ETH_ALEN);
-	os_memcpy(data + 2 * ETH_ALEN, snonce, FILS_NONCE_LEN);
-	os_memcpy(data + 2 * ETH_ALEN + FILS_NONCE_LEN, anonce, FILS_NONCE_LEN);
-
-	ptk->kck_len = 0;
-	ptk->kek_len = wpa_kek_len(akmp);
-	ptk->tk_len = wpa_cipher_key_len(cipher);
-	if (wpa_key_mgmt_sha384(akmp))
-		*ick_len = 48;
-	else if (wpa_key_mgmt_sha256(akmp))
-		*ick_len = 32;
-	else
-		return -1;
-	key_data_len = *ick_len + ptk->kek_len + ptk->tk_len;
-
-	if (wpa_key_mgmt_sha384(akmp))
-		sha384_prf(pmk, pmk_len, label, data, sizeof(data),
-			   tmp, key_data_len);
-	else if (sha256_prf(pmk, pmk_len, label, data, sizeof(data),
-			    tmp, key_data_len) < 0)
-		return -1;
-
-	wpa_printf(MSG_DEBUG, "FILS: PTK derivation - SPA=" MACSTR
-		   " AA=" MACSTR, MAC2STR(spa), MAC2STR(aa));
-	wpa_hexdump(MSG_DEBUG, "FILS: SNonce", snonce, FILS_NONCE_LEN);
-	wpa_hexdump(MSG_DEBUG, "FILS: ANonce", anonce, FILS_NONCE_LEN);
-	wpa_hexdump_key(MSG_DEBUG, "FILS: PMK", pmk, pmk_len);
-	wpa_hexdump_key(MSG_DEBUG, "FILS: FILS-Key-Data", tmp, key_data_len);
-
-	os_memcpy(ick, tmp, *ick_len);
-	wpa_hexdump_key(MSG_DEBUG, "FILS: ICK", ick, *ick_len);
-
-	os_memcpy(ptk->kek, tmp + *ick_len, ptk->kek_len);
-	wpa_hexdump_key(MSG_DEBUG, "FILS: KEK", ptk->kek, ptk->kek_len);
-
-	os_memcpy(ptk->tk, tmp + *ick_len + ptk->kek_len, ptk->tk_len);
-	wpa_hexdump_key(MSG_DEBUG, "FILS: TK", ptk->tk, ptk->tk_len);
-
-	/* TODO: FILS-FT */
-
-	os_memset(tmp, 0, sizeof(tmp));
-	return 0;
-}
-
-
-int fils_key_auth_sk(const u8 *ick, size_t ick_len, const u8 *snonce,
-		     const u8 *anonce, const u8 *sta_addr, const u8 *bssid,
-		     const u8 *g_sta, size_t g_sta_len,
-		     const u8 *g_ap, size_t g_ap_len,
-		     int akmp, u8 *key_auth_sta, u8 *key_auth_ap,
-		     size_t *key_auth_len)
-{
-	const u8 *addr[6];
-	size_t len[6];
-	size_t num_elem = 4;
-	int res;
-
-	/*
-	 * For (Re)Association Request frame (STA->AP):
-	 * Key-Auth = HMAC-Hash(ICK, SNonce || ANonce || STA-MAC || AP-BSSID
-	 *                      [ || gSTA || gAP ])
-	 */
-	addr[0] = snonce;
-	len[0] = FILS_NONCE_LEN;
-	addr[1] = anonce;
-	len[1] = FILS_NONCE_LEN;
-	addr[2] = sta_addr;
-	len[2] = ETH_ALEN;
-	addr[3] = bssid;
-	len[3] = ETH_ALEN;
-	if (g_sta && g_ap_len && g_ap && g_ap_len) {
-		addr[4] = g_sta;
-		len[4] = g_sta_len;
-		addr[5] = g_ap;
-		len[5] = g_ap_len;
-		num_elem = 6;
-	}
-
-	if (wpa_key_mgmt_sha384(akmp)) {
-		*key_auth_len = 48;
-		res = hmac_sha384_vector(ick, ick_len, num_elem, addr, len,
-					 key_auth_sta);
-	} else if (wpa_key_mgmt_sha256(akmp)) {
-		*key_auth_len = 32;
-		res = hmac_sha256_vector(ick, ick_len, num_elem, addr, len,
-					 key_auth_sta);
-	} else {
-		return -1;
-	}
-	if (res < 0)
-		return res;
-
-	/*
-	 * For (Re)Association Response frame (AP->STA):
-	 * Key-Auth = HMAC-Hash(ICK, ANonce || SNonce || AP-BSSID || STA-MAC
-	 *                      [ || gAP || gSTA ])
-	 */
-	addr[0] = anonce;
-	addr[1] = snonce;
-	addr[2] = bssid;
-	addr[3] = sta_addr;
-	if (g_sta && g_ap_len && g_ap && g_ap_len) {
-		addr[4] = g_ap;
-		len[4] = g_ap_len;
-		addr[5] = g_sta;
-		len[5] = g_sta_len;
-	}
-
-	if (wpa_key_mgmt_sha384(akmp))
-		res = hmac_sha384_vector(ick, ick_len, num_elem, addr, len,
-					 key_auth_ap);
-	else if (wpa_key_mgmt_sha256(akmp))
-		res = hmac_sha256_vector(ick, ick_len, num_elem, addr, len,
-					 key_auth_ap);
-	if (res < 0)
-		return res;
-
-	wpa_hexdump(MSG_DEBUG, "FILS: Key-Auth (STA)",
-		    key_auth_sta, *key_auth_len);
-	wpa_hexdump(MSG_DEBUG, "FILS: Key-Auth (AP)",
-		    key_auth_ap, *key_auth_len);
-
-	return 0;
-}
-
-#endif /* CONFIG_FILS */
-
 
 #ifdef CONFIG_IEEE80211R
 int wpa_ft_mic(const u8 *kck, size_t kck_len, const u8 *sta_addr,
@@ -550,8 +376,6 @@
 			}
 			if (data.num_pmkid == 1 && data.pmkid)
 				parse->rsn_pmkid = data.pmkid;
-			parse->key_mgmt = data.key_mgmt;
-			parse->pairwise_cipher = data.pairwise_cipher;
 			break;
 		case WLAN_EID_MOBILITY_DOMAIN:
 			if (len < sizeof(struct rsn_mdie))
@@ -686,14 +510,6 @@
 		return WPA_KEY_MGMT_IEEE8021X_SUITE_B;
 	if (RSN_SELECTOR_GET(s) == RSN_AUTH_KEY_MGMT_802_1X_SUITE_B_192)
 		return WPA_KEY_MGMT_IEEE8021X_SUITE_B_192;
-	if (RSN_SELECTOR_GET(s) == RSN_AUTH_KEY_MGMT_FILS_SHA256)
-		return WPA_KEY_MGMT_FILS_SHA256;
-	if (RSN_SELECTOR_GET(s) == RSN_AUTH_KEY_MGMT_FILS_SHA384)
-		return WPA_KEY_MGMT_FILS_SHA384;
-	if (RSN_SELECTOR_GET(s) == RSN_AUTH_KEY_MGMT_FT_FILS_SHA256)
-		return WPA_KEY_MGMT_FT_FILS_SHA256;
-	if (RSN_SELECTOR_GET(s) == RSN_AUTH_KEY_MGMT_FT_FILS_SHA384)
-		return WPA_KEY_MGMT_FT_FILS_SHA384;
 	if (RSN_SELECTOR_GET(s) == RSN_AUTH_KEY_MGMT_OSEN)
 		return WPA_KEY_MGMT_OSEN;
 	return 0;
@@ -1396,14 +1212,6 @@
 		return "WPA2-EAP-SUITE-B";
 	case WPA_KEY_MGMT_IEEE8021X_SUITE_B_192:
 		return "WPA2-EAP-SUITE-B-192";
-	case WPA_KEY_MGMT_FILS_SHA256:
-		return "FILS-SHA256";
-	case WPA_KEY_MGMT_FILS_SHA384:
-		return "FILS-SHA384";
-	case WPA_KEY_MGMT_FT_FILS_SHA256:
-		return "FT-FILS-SHA256";
-	case WPA_KEY_MGMT_FT_FILS_SHA384:
-		return "FT-FILS-SHA384";
 	default:
 		return "UNKNOWN";
 	}
@@ -1434,14 +1242,6 @@
 		return WLAN_AKM_SUITE_8021X_SUITE_B;
 	if (akm & WPA_KEY_MGMT_IEEE8021X_SUITE_B_192)
 		return WLAN_AKM_SUITE_8021X_SUITE_B_192;
-	if (akm & WPA_KEY_MGMT_FILS_SHA256)
-		return WLAN_AKM_SUITE_FILS_SHA256;
-	if (akm & WPA_KEY_MGMT_FILS_SHA384)
-		return WLAN_AKM_SUITE_FILS_SHA384;
-	if (akm & WPA_KEY_MGMT_FT_FILS_SHA256)
-		return WLAN_AKM_SUITE_FT_FILS_SHA256;
-	if (akm & WPA_KEY_MGMT_FT_FILS_SHA384)
-		return WLAN_AKM_SUITE_FT_FILS_SHA384;
 	return 0;
 }
 
@@ -1483,7 +1283,7 @@
 }
 
 
-#if defined(CONFIG_IEEE80211R) || defined(CONFIG_FILS)
+#ifdef CONFIG_IEEE80211R
 int wpa_insert_pmkid(u8 *ies, size_t *ies_len, const u8 *pmkid)
 {
 	u8 *start, *end, *rpos, *rend;
@@ -1582,7 +1382,7 @@
 
 	return 0;
 }
-#endif /* CONFIG_IEEE80211R || CONFIG_FILS */
+#endif /* CONFIG_IEEE80211R */
 
 
 int wpa_cipher_key_len(int cipher)
@@ -1905,25 +1705,3 @@
 		return WPA_CIPHER_CCMP_256;
 	return WPA_CIPHER_CCMP;
 }
-
-
-#ifdef CONFIG_FILS
-u16 fils_domain_name_hash(const char *domain)
-{
-	char buf[255], *wpos = buf;
-	const char *pos = domain;
-	size_t len;
-	u32 crc;
-
-	for (len = 0; len < sizeof(buf) && *pos; len++) {
-		if (isalpha(*pos) && isupper(*pos))
-			*wpos++ = tolower(*pos);
-		else
-			*wpos++ = *pos;
-		pos++;
-	}
-
-	crc = crc32((const u8 *) buf, len);
-	return crc & 0xffff;
-}
-#endif /* CONFIG_FILS */
diff --git a/src/common/wpa_common.h b/src/common/wpa_common.h
index 6d28417..af1d0f0 100644
--- a/src/common/wpa_common.h
+++ b/src/common/wpa_common.h
@@ -61,10 +61,6 @@
 #define RSN_AUTH_KEY_MGMT_802_1X_SUITE_B_192 RSN_SELECTOR(0x00, 0x0f, 0xac, 12)
 #define RSN_AUTH_KEY_MGMT_FT_802_1X_SUITE_B_192 \
 RSN_SELECTOR(0x00, 0x0f, 0xac, 13)
-#define RSN_AUTH_KEY_MGMT_FILS_SHA256 RSN_SELECTOR(0x00, 0x0f, 0xac, 14)
-#define RSN_AUTH_KEY_MGMT_FILS_SHA384 RSN_SELECTOR(0x00, 0x0f, 0xac, 15)
-#define RSN_AUTH_KEY_MGMT_FT_FILS_SHA256 RSN_SELECTOR(0x00, 0x0f, 0xac, 16)
-#define RSN_AUTH_KEY_MGMT_FT_FILS_SHA384 RSN_SELECTOR(0x00, 0x0f, 0xac, 17)
 #define RSN_AUTH_KEY_MGMT_CCKM RSN_SELECTOR(0x00, 0x40, 0x96, 0x00)
 #define RSN_AUTH_KEY_MGMT_OSEN RSN_SELECTOR(0x50, 0x6f, 0x9a, 0x01)
 
@@ -183,16 +179,30 @@
 	u8 key_iv[16];
 	u8 key_rsc[WPA_KEY_RSC_LEN];
 	u8 key_id[8]; /* Reserved in IEEE 802.11i/RSN */
-	/* variable length Key MIC field */
-	/* big endian 2-octet Key Data Length field */
-	/* followed by Key Data Length bytes of Key Data */
+	u8 key_mic[16];
+	u8 key_data_length[2]; /* big endian */
+	/* followed by key_data_length bytes of key_data */
+} STRUCT_PACKED;
+
+struct wpa_eapol_key_192 {
+	u8 type;
+	/* Note: key_info, key_length, and key_data_length are unaligned */
+	u8 key_info[2]; /* big endian */
+	u8 key_length[2]; /* big endian */
+	u8 replay_counter[WPA_REPLAY_COUNTER_LEN];
+	u8 key_nonce[WPA_NONCE_LEN];
+	u8 key_iv[16];
+	u8 key_rsc[WPA_KEY_RSC_LEN];
+	u8 key_id[8]; /* Reserved in IEEE 802.11i/RSN */
+	u8 key_mic[24];
+	u8 key_data_length[2]; /* big endian */
+	/* followed by key_data_length bytes of key_data */
 } STRUCT_PACKED;
 
 #define WPA_EAPOL_KEY_MIC_MAX_LEN 24
 #define WPA_KCK_MAX_LEN 24
-#define WPA_KEK_MAX_LEN 64
+#define WPA_KEK_MAX_LEN 32
 #define WPA_TK_MAX_LEN 32
-#define FILS_ICK_MAX_LEN 48
 
 /**
  * struct wpa_ptk - WPA Pairwise Transient Key
@@ -330,15 +340,6 @@
 		   const u8 *addr1, const u8 *addr2,
 		   const u8 *nonce1, const u8 *nonce2,
 		   struct wpa_ptk *ptk, int akmp, int cipher);
-int fils_pmk_to_ptk(const u8 *pmk, size_t pmk_len, const u8 *spa, const u8 *aa,
-		    const u8 *snonce, const u8 *anonce, struct wpa_ptk *ptk,
-		    u8 *ick, size_t *ick_len, int akmp, int cipher);
-int fils_key_auth_sk(const u8 *ick, size_t ick_len, const u8 *snonce,
-		     const u8 *anonce, const u8 *sta_addr, const u8 *bssid,
-		     const u8 *g_sta, size_t g_sta_len,
-		     const u8 *g_ap, size_t g_ap_len,
-		     int akmp, u8 *key_auth_sta, u8 *key_auth_ap,
-		     size_t *key_auth_len);
 
 #ifdef CONFIG_IEEE80211R
 int wpa_ft_mic(const u8 *kck, size_t kck_len, const u8 *sta_addr,
@@ -429,8 +430,6 @@
 	size_t igtk_len;
 	const u8 *ric;
 	size_t ric_len;
-	int key_mgmt;
-	int pairwise_cipher;
 };
 
 int wpa_ft_parse_ies(const u8 *ies, size_t ies_len, struct wpa_ft_ies *parse);
@@ -450,6 +449,5 @@
 int wpa_write_ciphers(char *start, char *end, int ciphers, const char *delim);
 int wpa_select_ap_group_cipher(int wpa, int wpa_pairwise, int rsn_pairwise);
 unsigned int wpa_mic_len(int akmp);
-u16 fils_domain_name_hash(const char *domain);
 
 #endif /* WPA_COMMON_H */