Revert "Cumulative patch from commit a9491695b30a7f750dc45cb563d813b03f1d4b8d"

This reverts commit bbcc4391bed89e8cd0dd235760cd2983f65721cf.

Bug: 34869019
Test: Load image and start soft AP

Change-Id: I85f39c134c1321d6a78f9f25a34f71ad7b1173fb
diff --git a/src/common/hw_features_common.c b/src/common/hw_features_common.c
index ef4b59d..9c37ea6 100644
--- a/src/common/hw_features_common.c
+++ b/src/common/hw_features_common.c
@@ -453,17 +453,3 @@
 
 	return 0;
 }
-
-
-void set_disable_ht40(struct ieee80211_ht_capabilities *htcaps,
-		      int disabled)
-{
-	/* Masking these out disables HT40 */
-	le16 msk = host_to_le16(HT_CAP_INFO_SUPP_CHANNEL_WIDTH_SET |
-				HT_CAP_INFO_SHORT_GI40MHZ);
-
-	if (disabled)
-		htcaps->ht_capabilities_info &= ~msk;
-	else
-		htcaps->ht_capabilities_info |= msk;
-}
diff --git a/src/common/hw_features_common.h b/src/common/hw_features_common.h
index 234b7bf..7360b4e 100644
--- a/src/common/hw_features_common.h
+++ b/src/common/hw_features_common.h
@@ -35,7 +35,5 @@
 			    int vht_enabled, int sec_channel_offset,
 			    int vht_oper_chwidth, int center_segment0,
 			    int center_segment1, u32 vht_caps);
-void set_disable_ht40(struct ieee80211_ht_capabilities *htcaps,
-		      int disabled);
 
 #endif /* HW_FEATURES_COMMON_H */
diff --git a/src/common/ieee802_11_defs.h b/src/common/ieee802_11_defs.h
index 55eaa82..5f6fdc4 100644
--- a/src/common/ieee802_11_defs.h
+++ b/src/common/ieee802_11_defs.h
@@ -1602,6 +1602,45 @@
 
 #define VENDOR_HT_CAPAB_OUI_TYPE 0x33 /* 00-90-4c:0x33 */
 
+/* cipher suite selectors */
+#define WLAN_CIPHER_SUITE_USE_GROUP	0x000FAC00
+#define WLAN_CIPHER_SUITE_WEP40		0x000FAC01
+#define WLAN_CIPHER_SUITE_TKIP		0x000FAC02
+/* reserved: 				0x000FAC03 */
+#define WLAN_CIPHER_SUITE_CCMP		0x000FAC04
+#define WLAN_CIPHER_SUITE_WEP104	0x000FAC05
+#define WLAN_CIPHER_SUITE_AES_CMAC	0x000FAC06
+#define WLAN_CIPHER_SUITE_NO_GROUP_ADDR	0x000FAC07
+#define WLAN_CIPHER_SUITE_GCMP		0x000FAC08
+#define WLAN_CIPHER_SUITE_GCMP_256	0x000FAC09
+#define WLAN_CIPHER_SUITE_CCMP_256	0x000FAC0A
+#define WLAN_CIPHER_SUITE_BIP_GMAC_128	0x000FAC0B
+#define WLAN_CIPHER_SUITE_BIP_GMAC_256	0x000FAC0C
+#define WLAN_CIPHER_SUITE_BIP_CMAC_256	0x000FAC0D
+
+#define WLAN_CIPHER_SUITE_SMS4		0x00147201
+
+#define WLAN_CIPHER_SUITE_CKIP		0x00409600
+#define WLAN_CIPHER_SUITE_CKIP_CMIC	0x00409601
+#define WLAN_CIPHER_SUITE_CMIC		0x00409602
+#define WLAN_CIPHER_SUITE_KRK		0x004096FF /* for nl80211 use only */
+
+/* AKM suite selectors */
+#define WLAN_AKM_SUITE_8021X		0x000FAC01
+#define WLAN_AKM_SUITE_PSK		0x000FAC02
+#define WLAN_AKM_SUITE_FT_8021X		0x000FAC03
+#define WLAN_AKM_SUITE_FT_PSK		0x000FAC04
+#define WLAN_AKM_SUITE_8021X_SHA256	0x000FAC05
+#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
+
 
 /* IEEE 802.11v - WNM Action field values */
 enum wnm_action {
diff --git a/src/common/qca-vendor.h b/src/common/qca-vendor.h
index 25800d4..46fddff 100644
--- a/src/common/qca-vendor.h
+++ b/src/common/qca-vendor.h
@@ -243,30 +243,6 @@
  *	FCC compliance, OEMs require methods to set SAR limits on TX
  *	power of WLAN/WWAN. enum qca_vendor_attr_sar_limits
  *	attributes are used with this command.
- *
- * @QCA_NL80211_VENDOR_SUBCMD_EXTERNAL_ACS: This command/event is used by the
- *	host driver for offloading the implementation of Auto Channel Selection
- *	(ACS) to an external user space entity. This interface is used as the
- *	event from the host driver to the user space entity and also as the
- *	request from the user space entity to the host driver. The event from
- *	the host driver is used by the user space entity as an indication to
- *	start the ACS functionality. The attributes used by this event are
- *	represented by the enum qca_wlan_vendor_attr_external_acs_event.
- *	User space entity uses the same interface to inform the host driver with
- *	selected channels after the ACS operation using the attributes defined
- *	by enum qca_wlan_vendor_attr_external_acs_channels.
- *
- * @QCA_NL80211_VENDOR_SUBCMD_CHIP_PWRSAVE_FAILURE: Vendor event carrying the
- *	requisite information leading to a power save failure. The information
- *	carried as part of this event is represented by the
- *	enum qca_attr_chip_power_save_failure attributes.
- *
- * @QCA_NL80211_VENDOR_SUBCMD_NUD_STATS_SET: Start/Stop the NUD statistics
- *	collection. Uses attributes defined in enum qca_attr_nud_stats_set.
- *
- * @QCA_NL80211_VENDOR_SUBCMD_NUD_STATS_GET: Get the NUD statistics. These
- *	statistics are represented by the enum qca_attr_nud_stats_get
- *	attributes.
  */
 enum qca_nl80211_vendor_subcmds {
 	QCA_NL80211_VENDOR_SUBCMD_UNSPEC = 0,
@@ -388,10 +364,6 @@
 	/* 144 - reserved for QCA */
 	QCA_NL80211_VENDOR_SUBCMD_ABORT_SCAN = 145,
 	QCA_NL80211_VENDOR_SUBCMD_SET_SAR_LIMITS = 146,
-	QCA_NL80211_VENDOR_SUBCMD_EXTERNAL_ACS = 147,
-	QCA_NL80211_VENDOR_SUBCMD_CHIP_PWRSAVE_FAILURE = 148,
-	QCA_NL80211_VENDOR_SUBCMD_NUD_STATS_SET = 149,
-	QCA_NL80211_VENDOR_SUBCMD_NUD_STATS_GET = 150,
 };
 
 
@@ -822,39 +794,11 @@
  *	vendor specific element is defined by the latest P802.11ax draft.
  *	Please note that the draft is still work in progress and this element
  *	payload is subject to change.
- *
- * @QCA_VENDOR_ELEM_RAPS: RAPS element (OFDMA-based Random Access Parameter Set
- *	element).
- *	This element can be used for pre-standard publication testing of HE
- *	before P802.11ax draft assigns the element ID extension. The payload of
- *	this vendor specific element is defined by the latest P802.11ax draft
- *	(not including the Element ID Extension field). Please note that the
- *	draft is still work in progress and this element payload is subject to
- *	change.
- *
- * @QCA_VENDOR_ELEM_MU_EDCA_PARAMS: MU EDCA Parameter Set element.
- *	This element can be used for pre-standard publication testing of HE
- *	before P802.11ax draft assigns the element ID extension. The payload of
- *	this vendor specific element is defined by the latest P802.11ax draft
- *	(not including the Element ID Extension field). Please note that the
- *	draft is still work in progress and this element payload is subject to
- *	change.
- *
- * @QCA_VENDOR_ELEM_BSS_COLOR_CHANGE: BSS Color Change Announcement element.
- *	This element can be used for pre-standard publication testing of HE
- *	before P802.11ax draft assigns the element ID extension. The payload of
- *	this vendor specific element is defined by the latest P802.11ax draft
- *	(not including the Element ID Extension field). Please note that the
- *	draft is still work in progress and this element payload is subject to
- *	change.
  */
 enum qca_vendor_element_id {
 	QCA_VENDOR_ELEM_P2P_PREF_CHAN_LIST = 0,
 	QCA_VENDOR_ELEM_HE_CAPAB = 1,
 	QCA_VENDOR_ELEM_HE_OPER = 2,
-	QCA_VENDOR_ELEM_RAPS = 3,
-	QCA_VENDOR_ELEM_MU_EDCA_PARAMS = 4,
-	QCA_VENDOR_ELEM_BSS_COLOR_CHANGE = 5,
 };
 
 /**
@@ -2968,340 +2912,4 @@
 	QCA_WLAN_VENDOR_ATTR_PNO_AFTER_LAST - 1,
 };
 
-/**
- * qca_wlan_vendor_acs_select_reason: This represents the different reasons why
- * the ACS has to be triggered. These values are used by
- * QCA_WLAN_VENDOR_ATTR_EXTERNAL_ACS_EVENT_REASON and
- * QCA_WLAN_VENDOR_ATTR_EXTERNAL_ACS_CHANNEL_REASON
- */
-enum qca_wlan_vendor_acs_select_reason {
-	/* Represents the reason that the ACS triggered during the AP start */
-	QCA_WLAN_VENDOR_ACS_SELECT_REASON_INIT,
-	/* Represents the reason that DFS found with the current channel */
-	QCA_WLAN_VENDOR_ACS_SELECT_REASON_DFS,
-	/* Represents the reason that LTE co-exist in the current band. */
-	QCA_WLAN_VENDOR_ACS_SELECT_REASON_LTE_COEX,
-};
-
-/**
- * qca_wlan_vendor_channel_prop_flags: This represent the flags for a channel.
- * This is used by QCA_WLAN_VENDOR_EXTERNAL_ACS_EVENT_CHAN_INFO_ATTR_FLAGS.
- */
-enum qca_wlan_vendor_channel_prop_flags {
-	/* Bits 0, 1, 2, and 3 are reserved */
-
-	/* Turbo channel */
-	QCA_WLAN_VENDOR_CHANNEL_PROP_FLAG_TURBO         = 1 << 4,
-	/* CCK channel */
-	QCA_WLAN_VENDOR_CHANNEL_PROP_FLAG_CCK           = 1 << 5,
-	/* OFDM channel */
-	QCA_WLAN_VENDOR_CHANNEL_PROP_FLAG_OFDM          = 1 << 6,
-	/* 2.4 GHz spectrum channel. */
-	QCA_WLAN_VENDOR_CHANNEL_PROP_FLAG_2GHZ          = 1 << 7,
-	/* 5 GHz spectrum channel */
-	QCA_WLAN_VENDOR_CHANNEL_PROP_FLAG_5GHZ          = 1 << 8,
-	/* Only passive scan allowed */
-	QCA_WLAN_VENDOR_CHANNEL_PROP_FLAG_PASSIVE       = 1 << 9,
-	/* Dynamic CCK-OFDM channel */
-	QCA_WLAN_VENDOR_CHANNEL_PROP_FLAG_DYN           = 1 << 10,
-	/* GFSK channel (FHSS PHY) */
-	QCA_WLAN_VENDOR_CHANNEL_PROP_FLAG_GFSK          = 1 << 11,
-	/* Radar found on channel */
-	QCA_WLAN_VENDOR_CHANNEL_PROP_FLAG_RADAR         = 1 << 12,
-	/* 11a static turbo channel only */
-	QCA_WLAN_VENDOR_CHANNEL_PROP_FLAG_STURBO        = 1 << 13,
-	/* Half rate channel */
-	QCA_WLAN_VENDOR_CHANNEL_PROP_FLAG_HALF          = 1 << 14,
-	/* Quarter rate channel */
-	QCA_WLAN_VENDOR_CHANNEL_PROP_FLAG_QUARTER       = 1 << 15,
-	/* HT 20 channel */
-	QCA_WLAN_VENDOR_CHANNEL_PROP_FLAG_HT20          = 1 << 16,
-	/* HT 40 with extension channel above */
-	QCA_WLAN_VENDOR_CHANNEL_PROP_FLAG_HT40PLUS      = 1 << 17,
-	/* HT 40 with extension channel below */
-	QCA_WLAN_VENDOR_CHANNEL_PROP_FLAG_HT40MINUS     = 1 << 18,
-	/* HT 40 intolerant */
-	QCA_WLAN_VENDOR_CHANNEL_PROP_FLAG_HT40INTOL     = 1 << 19,
-	/* VHT 20 channel */
-	QCA_WLAN_VENDOR_CHANNEL_PROP_FLAG_VHT20         = 1 << 20,
-	/* VHT 40 with extension channel above */
-	QCA_WLAN_VENDOR_CHANNEL_PROP_FLAG_VHT40PLUS     = 1 << 21,
-	/* VHT 40 with extension channel below */
-	QCA_WLAN_VENDOR_CHANNEL_PROP_FLAG_VHT40MINUS    = 1 << 22,
-	/* VHT 80 channel */
-	QCA_WLAN_VENDOR_CHANNEL_PROP_FLAG_VHT80         = 1 << 23,
-	/* HT 40 intolerant mark bit for ACS use */
-	QCA_WLAN_VENDOR_CHANNEL_PROP_FLAG_HT40INTOLMARK = 1 << 24,
-	/* Channel temporarily blocked due to noise */
-	QCA_WLAN_VENDOR_CHANNEL_PROP_FLAG_BLOCKED       = 1 << 25,
-	/* VHT 160 channel */
-	QCA_WLAN_VENDOR_CHANNEL_PROP_FLAG_VHT160        = 1 << 26,
-	/* VHT 80+80 channel */
-	QCA_WLAN_VENDOR_CHANNEL_PROP_FLAG_VHT80_80      = 1 << 27,
-};
-
-/**
- * qca_wlan_vendor_channel_prop_flags_ext: This represent the extended flags for
- * each channel. This is used by
- * QCA_WLAN_VENDOR_EXTERNAL_ACS_EVENT_CHAN_INFO_ATTR_FLAG_EXT.
- */
-enum qca_wlan_vendor_channel_prop_flags_ext {
-	/* Radar found on channel */
-	QCA_WLAN_VENDOR_CHANNEL_PROP_FLAG_EXT_RADAR_FOUND     = 1 << 0,
-	/* DFS required on channel */
-	QCA_WLAN_VENDOR_CHANNEL_PROP_FLAG_EXT_DFS             = 1 << 1,
-	/* DFS required on channel for 2nd band of 80+80 */
-	QCA_WLAN_VENDOR_CHANNEL_PROP_FLAG_EXT_DFS_CFREQ2      = 1 << 2,
-	/* If channel has been checked for DFS */
-	QCA_WLAN_VENDOR_CHANNEL_PROP_FLAG_EXT_DFS_CLEAR       = 1 << 3,
-	/* Excluded in 802.11d */
-	QCA_WLAN_VENDOR_CHANNEL_PROP_FLAG_EXT_11D_EXCLUDED    = 1 << 4,
-	/* Channel Switch Announcement received on this channel */
-	QCA_WLAN_VENDOR_CHANNEL_PROP_FLAG_EXT_CSA_RECEIVED    = 1 << 5,
-	/* Ad-hoc is not allowed */
-	QCA_WLAN_VENDOR_CHANNEL_PROP_FLAG_EXT_DISALLOW_ADHOC  = 1 << 6,
-	/* Station only channel */
-	QCA_WLAN_VENDOR_CHANNEL_PROP_FLAG_EXT_DISALLOW_HOSTAP = 1 << 7,
-	/* DFS radar history for slave device (STA mode) */
-	QCA_WLAN_VENDOR_CHANNEL_PROP_FLAG_EXT_HISTORY_RADAR   = 1 << 8,
-	/* DFS CAC valid for slave device (STA mode) */
-	QCA_WLAN_VENDOR_CHANNEL_PROP_FLAG_EXT_CAC_VALID       = 1 << 9,
-};
-
-/**
- * qca_wlan_vendor_external_acs_event_chan_info_attr: Represents per channel
- * information. These attributes are sent as part of
- * QCA_WLAN_VENDOR_ATTR_EXTERNAL_ACS_EVENT_CHAN_INFO. Each set of the following
- * attributes correspond to a single channel.
- */
-enum qca_wlan_vendor_external_acs_event_chan_info_attr {
-	QCA_WLAN_VENDOR_EXTERNAL_ACS_EVENT_CHAN_INFO_ATTR_INVALID = 0,
-
-	/* A bitmask (u32) with flags specified in
-	 * enum qca_wlan_vendor_channel_prop_flags.
-	 */
-	QCA_WLAN_VENDOR_EXTERNAL_ACS_EVENT_CHAN_INFO_ATTR_FLAGS = 1,
-	/* A bitmask (u32) with flags specified in
-	 * enum qca_wlan_vendor_channel_prop_flags_ext.
-	 */
-	QCA_WLAN_VENDOR_EXTERNAL_ACS_EVENT_CHAN_INFO_ATTR_FLAG_EXT = 2,
-	/* frequency in MHz (u32) */
-	QCA_WLAN_VENDOR_EXTERNAL_ACS_EVENT_CHAN_INFO_ATTR_FREQ = 3,
-	/* maximum regulatory transmission power (u32) */
-	QCA_WLAN_VENDOR_EXTERNAL_ACS_EVENT_CHAN_INFO_ATTR_MAX_REG_POWER = 4,
-	/* maximum transmission power (u32) */
-	QCA_WLAN_VENDOR_EXTERNAL_ACS_EVENT_CHAN_INFO_ATTR_MAX_POWER = 5,
-	/* minimum transmission power (u32) */
-	QCA_WLAN_VENDOR_EXTERNAL_ACS_EVENT_CHAN_INFO_ATTR_MIN_POWER = 6,
-	/* regulatory class id (u8) */
-	QCA_WLAN_VENDOR_EXTERNAL_ACS_EVENT_CHAN_INFO_ATTR_REG_CLASS_ID = 7,
-	/* maximum antenna gain in (u8) */
-	QCA_WLAN_VENDOR_EXTERNAL_ACS_EVENT_CHAN_INFO_ATTR_ANTENNA_GAIN = 8,
-	/* VHT segment 0 (u8) */
-	QCA_WLAN_VENDOR_EXTERNAL_ACS_EVENT_CHAN_INFO_ATTR_VHT_SEG_0 = 9,
-	/* VHT segment 1 (u8) */
-	QCA_WLAN_VENDOR_EXTERNAL_ACS_EVENT_CHAN_INFO_ATTR_VHT_SEG_1 = 10,
-
-	/* keep last */
-	QCA_WLAN_VENDOR_EXTERNAL_ACS_EVENT_CHAN_INFO_ATTR_LAST,
-	QCA_WLAN_VENDOR_EXTERNAL_ACS_EVENT_CHAN_INFO_ATTR_MAX =
-		QCA_WLAN_VENDOR_EXTERNAL_ACS_EVENT_CHAN_INFO_ATTR_LAST - 1,
-};
-
-/**
- * qca_wlan_vendor_attr_pcl: Represents attributes for
- * preferred channel list (PCL). These attributes are sent as part of
- * QCA_WLAN_VENDOR_ATTR_EXTERNAL_ACS_EVENT_PCL.
- */
-enum qca_wlan_vendor_attr_pcl {
-	QCA_WLAN_VENDOR_ATTR_PCL_INVALID = 0,
-
-	/* Channel number (u8) */
-	QCA_WLAN_VENDOR_ATTR_PCL_CHANNEL = 1,
-	/* Channel weightage (u8) */
-	QCA_WLAN_VENDOR_ATTR_PCL_WEIGHT = 2,
-};
-
-/**
- * qca_wlan_vendor_attr_external_acs_event: Attribute to vendor sub-command
- * QCA_NL80211_VENDOR_SUBCMD_EXTERNAL_ACS. This attribute will be sent by
- * host driver.
- */
-enum qca_wlan_vendor_attr_external_acs_event {
-	QCA_WLAN_VENDOR_ATTR_EXTERNAL_ACS_EVENT_INVALID = 0,
-
-	/* This reason (u8) refers to enum qca_wlan_vendor_acs_select_reason.
-	 * This helps ACS module to understand why ACS needs to be started.
-	 */
-	QCA_WLAN_VENDOR_ATTR_EXTERNAL_ACS_EVENT_REASON = 1,
-	/* Flag attribute to indicate if driver supports spectral scanning */
-	QCA_WLAN_VENDOR_ATTR_EXTERNAL_ACS_EVENT_IS_SPECTRAL_SUPPORTED = 2,
-	/* Flag attribute to indicate if 11ac is offloaded to firmware */
-	QCA_WLAN_VENDOR_ATTR_EXTERNAL_ACS_EVENT_IS_OFFLOAD_ENABLED = 3,
-	/* Flag attribute to indicate if driver provides additional channel
-	 * capability as part of scan operation */
-	QCA_WLAN_VENDOR_ATTR_EXTERNAL_ACS_EVENT_ADD_CHAN_STATS_SUPPORT = 4,
-	/* Flag attribute to indicate interface status is UP */
-	QCA_WLAN_VENDOR_ATTR_EXTERNAL_ACS_EVENT_AP_UP = 5,
-	/* Operating mode (u8) of interface. Takes one of enum nl80211_iftype
-	 * values. */
-	QCA_WLAN_VENDOR_ATTR_EXTERNAL_ACS_EVENT_SAP_MODE = 6,
-	/* Channel width (u8). It takes one of enum nl80211_chan_width values.
-	 * This is the upper bound of channel width. ACS logic should try to get
-	 * a channel with the specified width and if not found, look for lower
-	 * values.
-	 */
-	QCA_WLAN_VENDOR_ATTR_EXTERNAL_ACS_EVENT_CHAN_WIDTH = 7,
-	/* This (u8) will hold values of one of enum nl80211_bands */
-	QCA_WLAN_VENDOR_ATTR_EXTERNAL_ACS_EVENT_BAND = 8,
-	/* PHY/HW mode (u8). Takes one of enum qca_wlan_vendor_acs_hw_mode
-	 * values */
-	QCA_WLAN_VENDOR_ATTR_EXTERNAL_ACS_EVENT_PHY_MODE = 9,
-	/* Array of (u32) supported frequency list among which ACS should choose
-	 * best frequency.
-	 */
-	QCA_WLAN_VENDOR_ATTR_EXTERNAL_ACS_EVENT_FREQ_LIST = 10,
-	/* Preferred channel list by the driver which will have array of nested
-	 * values as per enum qca_wlan_vendor_attr_pcl attribute.
-	 */
-	QCA_WLAN_VENDOR_ATTR_EXTERNAL_ACS_EVENT_PCL = 11,
-	/* Array of nested attribute for each channel. It takes attr as defined
-	 * in enum qca_wlan_vendor_external_acs_event_chan_info_attr.
-	 */
-	QCA_WLAN_VENDOR_ATTR_EXTERNAL_ACS_EVENT_CHAN_INFO = 12,
-
-	/* keep last */
-	QCA_WLAN_VENDOR_ATTR_EXTERNAL_ACS_EVENT_LAST,
-	QCA_WLAN_VENDOR_ATTR_EXTERNAL_ACS_EVENT_MAX =
-		QCA_WLAN_VENDOR_ATTR_EXTERNAL_ACS_EVENT_LAST - 1,
-};
-
-/**
- * qca_wlan_vendor_attr_external_acs_channels: Attributes to vendor subcmd
- * QCA_NL80211_VENDOR_SUBCMD_EXTERNAL_ACS. This carries a list of channels
- * in priority order as decided after ACS operation in userspace.
- */
-enum qca_wlan_vendor_attr_external_acs_channels {
-	QCA_WLAN_VENDOR_ATTR_EXTERNAL_ACS_CHANNEL_INVALID = 0,
-
-	/* One of reason code (u8) from enum qca_wlan_vendor_acs_select_reason
-	 */
-	QCA_WLAN_VENDOR_ATTR_EXTERNAL_ACS_CHANNEL_REASON = 1,
-
-	/* Array of nested values for each channel with following attributes:
-	 * QCA_WLAN_VENDOR_ATTR_EXTERNAL_ACS_CHANNEL_BAND,
-	 * QCA_WLAN_VENDOR_ATTR_EXTERNAL_ACS_CHANNEL_PRIMARY,
-	 * QCA_WLAN_VENDOR_ATTR_EXTERNAL_ACS_CHANNEL_SECONDARY,
-	 * QCA_WLAN_VENDOR_ATTR_EXTERNAL_ACS_CHANNEL_CENTER_SEG0,
-	 * QCA_WLAN_VENDOR_ATTR_EXTERNAL_ACS_CHANNEL_CENTER_SEG1,
-	 * QCA_WLAN_VENDOR_ATTR_EXTERNAL_ACS_CHANNEL_WIDTH
-	 */
-	QCA_WLAN_VENDOR_ATTR_EXTERNAL_ACS_CHANNEL_LIST = 2,
-	/* This (u8) will hold values of one of enum nl80211_bands */
-	QCA_WLAN_VENDOR_ATTR_EXTERNAL_ACS_CHANNEL_BAND = 3,
-	/* Primary channel (u8) */
-	QCA_WLAN_VENDOR_ATTR_EXTERNAL_ACS_CHANNEL_PRIMARY = 4,
-	/* Secondary channel (u8) used for HT 40 MHz channels */
-	QCA_WLAN_VENDOR_ATTR_EXTERNAL_ACS_CHANNEL_SECONDARY = 5,
-	/* VHT seg0 channel (u8) */
-	QCA_WLAN_VENDOR_ATTR_EXTERNAL_ACS_CHANNEL_CENTER_SEG0 = 6,
-	/* VHT seg1 channel (u8) */
-	QCA_WLAN_VENDOR_ATTR_EXTERNAL_ACS_CHANNEL_CENTER_SEG1 = 7,
-	/* Channel width (u8). Takes one of enum nl80211_chan_width values. */
-	QCA_WLAN_VENDOR_ATTR_EXTERNAL_ACS_CHANNEL_WIDTH = 8,
-
-	/* keep last */
-	QCA_WLAN_VENDOR_ATTR_EXTERNAL_ACS_CHANNEL_LAST,
-	QCA_WLAN_VENDOR_ATTR_EXTERNAL_ACS_CHANNEL_MAX =
-		QCA_WLAN_VENDOR_ATTR_EXTERNAL_ACS_CHANNEL_LAST - 1
-};
-
-enum qca_chip_power_save_failure_reason {
-	/* Indicates if the reason for the failure is due to a protocol
-	 * layer/module.
-	 */
-        QCA_CHIP_POWER_SAVE_FAILURE_REASON_PROTOCOL = 0,
-	/* Indicates if the reason for the failure is due to a hardware issue.
-	 */
-        QCA_CHIP_POWER_SAVE_FAILURE_REASON_HARDWARE = 1,
-};
-
-/**
- * qca_attr_chip_power_save_failure: Attributes to vendor subcmd
- * QCA_NL80211_VENDOR_SUBCMD_CHIP_PWRSAVE_FAILURE. This carries the requisite
- * information leading to the power save failure.
- */
-enum qca_attr_chip_power_save_failure {
-        QCA_ATTR_CHIP_POWER_SAVE_FAILURE_INVALID = 0,
-        /* Reason to cause the power save failure.
-	 * These reasons are represented by
-	 * enum qca_chip_power_save_failure_reason.
-	 */
-        QCA_ATTR_CHIP_POWER_SAVE_FAILURE_REASON = 1,
-
-        /* keep last */
-        QCA_ATTR_CHIP_POWER_SAVE_FAILURE_LAST,
-        QCA_ATTR_CHIP_POWER_SAVE_FAILURE_MAX =
-                QCA_ATTR_CHIP_POWER_SAVE_FAILURE_LAST - 1,
-};
-
-/**
- * qca_wlan_vendor_attr_nud_stats_set: Attributes to vendor subcmd
- * QCA_NL80211_VENDOR_SUBCMD_NUD_STATS_SET. This carries the requisite
- * information to start/stop the NUD statistics collection.
- */
-enum qca_attr_nud_stats_set {
-	QCA_ATTR_NUD_STATS_SET_INVALID = 0,
-
-	/* Flag to start/stop the NUD statistics collection.
-	 * Start - If included, Stop - If not included
-	 */
-	QCA_ATTR_NUD_STATS_SET_START = 1,
-	/* IPv4 address of the default gateway (in network byte order) */
-	QCA_ATTR_NUD_STATS_GW_IPV4 = 2,
-
-	/* keep last */
-	QCA_ATTR_NUD_STATS_SET_LAST,
-	QCA_ATTR_NUD_STATS_SET_MAX =
-		QCA_ATTR_NUD_STATS_SET_LAST - 1,
-};
-
-/**
- * qca_attr_nud_stats_get: Attributes to vendor subcmd
- * QCA_NL80211_VENDOR_SUBCMD_NUD_STATS_GET. This carries the requisite
- * NUD statistics collected when queried.
- */
-enum qca_attr_nud_stats_get {
-	QCA_ATTR_NUD_STATS_GET_INVALID = 0,
-	/* ARP Request count from netdev */
-	QCA_ATTR_NUD_STATS_ARP_REQ_COUNT_FROM_NETDEV = 1,
-	/* ARP Request count sent to lower MAC from upper MAC */
-	QCA_ATTR_NUD_STATS_ARP_REQ_COUNT_TO_LOWER_MAC = 2,
-	/* ARP Request count received by lower MAC from upper MAC */
-	QCA_ATTR_NUD_STATS_ARP_REQ_RX_COUNT_BY_LOWER_MAC = 3,
-	/* ARP Request count successfully transmitted by the device */
-	QCA_ATTR_NUD_STATS_ARP_REQ_COUNT_TX_SUCCESS = 4,
-	/* ARP Response count received by lower MAC */
-	QCA_ATTR_NUD_STATS_ARP_RSP_RX_COUNT_BY_LOWER_MAC = 5,
-	/* ARP Response count received by upper MAC */
-	QCA_ATTR_NUD_STATS_ARP_RSP_RX_COUNT_BY_UPPER_MAC = 6,
-	/* ARP Response count delivered to netdev */
-	QCA_ATTR_NUD_STATS_ARP_RSP_COUNT_TO_NETDEV = 7,
-	/* ARP Response count delivered to netdev */
-	QCA_ATTR_NUD_STATS_ARP_RSP_COUNT_OUT_OF_ORDER_DROP = 8,
-	/* Flag indicating if the station's link to the AP is active.
-	 * Active Link - If included, Inactive link - If not included
-	 */
-	QCA_ATTR_NUD_STATS_AP_LINK_ACTIVE= 9,
-	/* Flag indicating if there is any duplicate address detected (DAD).
-	 * Yes - If detected, No - If not detected.
-	 */
-	QCA_ATTR_NUD_STATS_IS_DAD = 9,
-
-	/* keep last */
-	QCA_ATTR_NUD_STATS_GET_LAST,
-	QCA_ATTR_NUD_STATS_GET_MAX =
-		QCA_ATTR_NUD_STATS_GET_LAST - 1,
-};
-
 #endif /* QCA_VENDOR_H */
diff --git a/src/common/wpa_common.c b/src/common/wpa_common.c
index 79f001b..6eb1e66 100644
--- a/src/common/wpa_common.c
+++ b/src/common/wpa_common.c
@@ -230,78 +230,6 @@
 
 #ifdef CONFIG_FILS
 
-int fils_rmsk_to_pmk(int akmp, const u8 *rmsk, size_t rmsk_len,
-		     const u8 *snonce, const u8 *anonce, const u8 *dh_ss,
-		     size_t dh_ss_len, u8 *pmk, size_t *pmk_len)
-{
-	u8 nonces[2 * FILS_NONCE_LEN];
-	const u8 *addr[2];
-	size_t len[2];
-	size_t num_elem;
-	int res;
-
-	/* PMK = HMAC-Hash(SNonce || ANonce, rMSK [ || DHss ]) */
-	wpa_printf(MSG_DEBUG, "FILS: rMSK to PMK derivation");
-
-	if (wpa_key_mgmt_sha384(akmp))
-		*pmk_len = SHA384_MAC_LEN;
-	else if (wpa_key_mgmt_sha256(akmp))
-		*pmk_len = SHA256_MAC_LEN;
-	else
-		return -1;
-
-	wpa_hexdump_key(MSG_DEBUG, "FILS: rMSK", rmsk, rmsk_len);
-	wpa_hexdump(MSG_DEBUG, "FILS: SNonce", snonce, FILS_NONCE_LEN);
-	wpa_hexdump(MSG_DEBUG, "FILS: ANonce", anonce, FILS_NONCE_LEN);
-	wpa_hexdump(MSG_DEBUG, "FILS: DHss", dh_ss, dh_ss_len);
-
-	os_memcpy(nonces, snonce, FILS_NONCE_LEN);
-	os_memcpy(&nonces[FILS_NONCE_LEN], anonce, FILS_NONCE_LEN);
-	addr[0] = rmsk;
-	len[0] = rmsk_len;
-	num_elem = 1;
-	if (dh_ss) {
-		addr[1] = dh_ss;
-		len[1] = dh_ss_len;
-		num_elem++;
-	}
-	if (wpa_key_mgmt_sha384(akmp))
-		res = hmac_sha384_vector(nonces, 2 * FILS_NONCE_LEN, num_elem,
-					 addr, len, pmk);
-	else
-		res = hmac_sha256_vector(nonces, 2 * FILS_NONCE_LEN, num_elem,
-					 addr, len, pmk);
-	if (res == 0)
-		wpa_hexdump_key(MSG_DEBUG, "FILS: PMK", pmk, *pmk_len);
-	return res;
-}
-
-
-int fils_pmkid_erp(int akmp, const u8 *reauth, size_t reauth_len,
-		   u8 *pmkid)
-{
-	const u8 *addr[1];
-	size_t len[1];
-	u8 hash[SHA384_MAC_LEN];
-	int res;
-
-	/* PMKID = Truncate-128(Hash(EAP-Initiate/Reauth)) */
-	addr[0] = reauth;
-	len[0] = reauth_len;
-	if (wpa_key_mgmt_sha384(akmp))
-		res = sha384_vector(1, addr, len, hash);
-	else if (wpa_key_mgmt_sha256(akmp))
-		res = sha256_vector(1, addr, len, hash);
-	else
-		return -1;
-	if (res)
-		return res;
-	os_memcpy(pmkid, hash, PMKID_LEN);
-	wpa_hexdump(MSG_DEBUG, "FILS: PMKID", pmkid, PMKID_LEN);
-	return 0;
-}
-
-
 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)
@@ -1484,33 +1412,35 @@
 u32 wpa_akm_to_suite(int akm)
 {
 	if (akm & WPA_KEY_MGMT_FT_IEEE8021X)
-		return RSN_AUTH_KEY_MGMT_FT_802_1X;
+		return WLAN_AKM_SUITE_FT_8021X;
 	if (akm & WPA_KEY_MGMT_FT_PSK)
-		return RSN_AUTH_KEY_MGMT_FT_PSK;
-	if (akm & WPA_KEY_MGMT_IEEE8021X_SHA256)
-		return RSN_AUTH_KEY_MGMT_802_1X_SHA256;
+		return WLAN_AKM_SUITE_FT_PSK;
 	if (akm & WPA_KEY_MGMT_IEEE8021X)
-		return RSN_AUTH_KEY_MGMT_UNSPEC_802_1X;
+		return WLAN_AKM_SUITE_8021X;
+	if (akm & WPA_KEY_MGMT_IEEE8021X_SHA256)
+		return WLAN_AKM_SUITE_8021X_SHA256;
+	if (akm & WPA_KEY_MGMT_IEEE8021X)
+		return WLAN_AKM_SUITE_8021X;
 	if (akm & WPA_KEY_MGMT_PSK_SHA256)
-		return RSN_AUTH_KEY_MGMT_PSK_SHA256;
+		return WLAN_AKM_SUITE_PSK_SHA256;
 	if (akm & WPA_KEY_MGMT_PSK)
-		return RSN_AUTH_KEY_MGMT_PSK_OVER_802_1X;
+		return WLAN_AKM_SUITE_PSK;
 	if (akm & WPA_KEY_MGMT_CCKM)
-		return RSN_AUTH_KEY_MGMT_CCKM;
+		return WLAN_AKM_SUITE_CCKM;
 	if (akm & WPA_KEY_MGMT_OSEN)
-		return RSN_AUTH_KEY_MGMT_OSEN;
+		return WLAN_AKM_SUITE_OSEN;
 	if (akm & WPA_KEY_MGMT_IEEE8021X_SUITE_B)
-		return RSN_AUTH_KEY_MGMT_802_1X_SUITE_B;
+		return WLAN_AKM_SUITE_8021X_SUITE_B;
 	if (akm & WPA_KEY_MGMT_IEEE8021X_SUITE_B_192)
-		return RSN_AUTH_KEY_MGMT_802_1X_SUITE_B_192;
+		return WLAN_AKM_SUITE_8021X_SUITE_B_192;
 	if (akm & WPA_KEY_MGMT_FILS_SHA256)
-		return RSN_AUTH_KEY_MGMT_FILS_SHA256;
+		return WLAN_AKM_SUITE_FILS_SHA256;
 	if (akm & WPA_KEY_MGMT_FILS_SHA384)
-		return RSN_AUTH_KEY_MGMT_FILS_SHA384;
+		return WLAN_AKM_SUITE_FILS_SHA384;
 	if (akm & WPA_KEY_MGMT_FT_FILS_SHA256)
-		return RSN_AUTH_KEY_MGMT_FT_FILS_SHA256;
+		return WLAN_AKM_SUITE_FT_FILS_SHA256;
 	if (akm & WPA_KEY_MGMT_FT_FILS_SHA384)
-		return RSN_AUTH_KEY_MGMT_FT_FILS_SHA384;
+		return WLAN_AKM_SUITE_FT_FILS_SHA384;
 	return 0;
 }
 
diff --git a/src/common/wpa_common.h b/src/common/wpa_common.h
index 4e465f5..4e952c1 100644
--- a/src/common/wpa_common.h
+++ b/src/common/wpa_common.h
@@ -48,8 +48,10 @@
 
 #define RSN_AUTH_KEY_MGMT_UNSPEC_802_1X RSN_SELECTOR(0x00, 0x0f, 0xac, 1)
 #define RSN_AUTH_KEY_MGMT_PSK_OVER_802_1X RSN_SELECTOR(0x00, 0x0f, 0xac, 2)
+#ifdef CONFIG_IEEE80211R
 #define RSN_AUTH_KEY_MGMT_FT_802_1X RSN_SELECTOR(0x00, 0x0f, 0xac, 3)
 #define RSN_AUTH_KEY_MGMT_FT_PSK RSN_SELECTOR(0x00, 0x0f, 0xac, 4)
+#endif /* CONFIG_IEEE80211R */
 #define RSN_AUTH_KEY_MGMT_802_1X_SHA256 RSN_SELECTOR(0x00, 0x0f, 0xac, 5)
 #define RSN_AUTH_KEY_MGMT_PSK_SHA256 RSN_SELECTOR(0x00, 0x0f, 0xac, 6)
 #define RSN_AUTH_KEY_MGMT_TPK_HANDSHAKE RSN_SELECTOR(0x00, 0x0f, 0xac, 7)
@@ -67,13 +69,11 @@
 #define RSN_AUTH_KEY_MGMT_OSEN RSN_SELECTOR(0x50, 0x6f, 0x9a, 0x01)
 
 #define RSN_CIPHER_SUITE_NONE RSN_SELECTOR(0x00, 0x0f, 0xac, 0)
-#define RSN_CIPHER_SUITE_WEP40 RSN_SELECTOR(0x00, 0x0f, 0xac, 1)
 #define RSN_CIPHER_SUITE_TKIP RSN_SELECTOR(0x00, 0x0f, 0xac, 2)
 #if 0
 #define RSN_CIPHER_SUITE_WRAP RSN_SELECTOR(0x00, 0x0f, 0xac, 3)
 #endif
 #define RSN_CIPHER_SUITE_CCMP RSN_SELECTOR(0x00, 0x0f, 0xac, 4)
-#define RSN_CIPHER_SUITE_WEP104 RSN_SELECTOR(0x00, 0x0f, 0xac, 5)
 #define RSN_CIPHER_SUITE_AES_128_CMAC RSN_SELECTOR(0x00, 0x0f, 0xac, 6)
 #define RSN_CIPHER_SUITE_NO_GROUP_ADDRESSED RSN_SELECTOR(0x00, 0x0f, 0xac, 7)
 #define RSN_CIPHER_SUITE_GCMP RSN_SELECTOR(0x00, 0x0f, 0xac, 8)
@@ -82,12 +82,6 @@
 #define RSN_CIPHER_SUITE_BIP_GMAC_128 RSN_SELECTOR(0x00, 0x0f, 0xac, 11)
 #define RSN_CIPHER_SUITE_BIP_GMAC_256 RSN_SELECTOR(0x00, 0x0f, 0xac, 12)
 #define RSN_CIPHER_SUITE_BIP_CMAC_256 RSN_SELECTOR(0x00, 0x0f, 0xac, 13)
-#define RSN_CIPHER_SUITE_SMS4 RSN_SELECTOR(0x00, 0x14, 0x72, 1)
-#define RSN_CIPHER_SUITE_CKIP RSN_SELECTOR(0x00, 0x40, 0x96, 0)
-#define RSN_CIPHER_SUITE_CKIP_CMIC RSN_SELECTOR(0x00, 0x40, 0x96, 1)
-#define RSN_CIPHER_SUITE_CMIC RSN_SELECTOR(0x00, 0x40, 0x96, 2)
-/* KRK is defined for nl80211 use only */
-#define RSN_CIPHER_SUITE_KRK RSN_SELECTOR(0x00, 0x40, 0x96, 255)
 
 /* EAPOL-Key Key Data Encapsulation
  * GroupKey and PeerKey require encryption, otherwise, encryption is optional.
@@ -336,11 +330,6 @@
 		   const u8 *addr1, const u8 *addr2,
 		   const u8 *nonce1, const u8 *nonce2,
 		   struct wpa_ptk *ptk, int akmp, int cipher);
-int fils_rmsk_to_pmk(int akmp, const u8 *rmsk, size_t rmsk_len,
-		     const u8 *snonce, const u8 *anonce, const u8 *dh_ss,
-		     size_t dh_ss_len, u8 *pmk, size_t *pmk_len);
-int fils_pmkid_erp(int akmp, const u8 *reauth, size_t reauth_len,
-		   u8 *pmkid);
 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);
diff --git a/src/common/wpa_ctrl.h b/src/common/wpa_ctrl.h
index 766a3fa..ec4e879 100644
--- a/src/common/wpa_ctrl.h
+++ b/src/common/wpa_ctrl.h
@@ -74,8 +74,6 @@
 #define WPA_EVENT_NETWORK_NOT_FOUND "CTRL-EVENT-NETWORK-NOT-FOUND "
 /** Change in the signal level was reported by the driver */
 #define WPA_EVENT_SIGNAL_CHANGE "CTRL-EVENT-SIGNAL-CHANGE "
-/** Beacon loss reported by the driver */
-#define WPA_EVENT_BEACON_LOSS "CTRL-EVENT-BEACON-LOSS "
 /** Regulatory domain channel */
 #define WPA_EVENT_REGDOM_CHANGE "CTRL-EVENT-REGDOM-CHANGE "
 /** Channel switch (followed by freq=<MHz> and other channel parameters) */