qcacmn: Add support for SuiteB AKM suites

Add support for Suite B AKM suites 000FAC 11/12

Change-Id: I4893241ad138d7598d15228cedb29b656afbe32e
CRs-Fixed: 2164932
diff --git a/umac/cmn_services/cmn_defs/inc/wlan_cmn_ieee80211.h b/umac/cmn_services/cmn_defs/inc/wlan_cmn_ieee80211.h
index e25822c..409bc7c 100644
--- a/umac/cmn_services/cmn_defs/inc/wlan_cmn_ieee80211.h
+++ b/umac/cmn_services/cmn_defs/inc/wlan_cmn_ieee80211.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017 The Linux Foundation. All rights reserved.
+ * Copyright (c) 2017-2018 The Linux Foundation. All rights reserved.
  *
  * Permission to use, copy, modify, and/or distribute this software for
  * any purpose with or without fee is hereby granted, provided that the
@@ -375,6 +375,8 @@
 #define WLAN_AKM_FT_PSK           0x04
 #define WLAN_AKM_SHA256_IEEE8021X 0x05
 #define WLAN_AKM_SHA256_PSK       0x06
+#define WLAN_AKM_SUITEB_EAP_SHA256 0x0B
+#define WLAN_AKM_SUITEB_EAP_SHA384 0x0C
 #define WLAN_AKM_FILS_SHA256      0x0E
 #define WLAN_AKM_FILS_SHA384      0x0F
 #define WLAN_AKM_FILS_FT_SHA256   0x10
diff --git a/umac/cmn_services/inc/wlan_cmn.h b/umac/cmn_services/inc/wlan_cmn.h
index 99afb7c..3b1230f 100644
--- a/umac/cmn_services/inc/wlan_cmn.h
+++ b/umac/cmn_services/inc/wlan_cmn.h
@@ -337,6 +337,8 @@
 	WLAN_AUTH_TYPE_FT_FILS_SHA384,
 	WLAN_AUTH_TYPE_DPP_RSN,
 	WLAN_AUTH_TYPE_OWE,
+	WLAN_AUTH_TYPE_SUITEB_EAP_SHA256,
+	WLAN_AUTH_TYPE_SUITEB_EAP_SHA384,
 
 	WLAN_NUM_OF_SUPPORT_AUTH_TYPE,
 };
diff --git a/umac/scan/core/src/wlan_scan_filter.c b/umac/scan/core/src/wlan_scan_filter.c
index 3883df2..653d1ba 100644
--- a/umac/scan/core/src/wlan_scan_filter.c
+++ b/umac/scan/core/src/wlan_scan_filter.c
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017 The Linux Foundation. All rights reserved.
+ * Copyright (c) 2017-2018 The Linux Foundation. All rights reserved.
  *
  * Permission to use, copy, modify, and/or distribute this software for
  * any purpose with or without fee is hereby granted, provided that the
@@ -469,6 +469,26 @@
 				break;
 			}
 		}
+		if (scm_is_cipher_match(rsn.akm_suites,
+		   rsn.akm_suite_count,
+		   WLAN_RSN_SEL(WLAN_AKM_SUITEB_EAP_SHA256))) {
+			if (WLAN_AUTH_TYPE_SUITEB_EAP_SHA256 ==
+			   filter->auth_type[i]) {
+				neg_auth = WLAN_AUTH_TYPE_SUITEB_EAP_SHA256;
+				match = true;
+				break;
+			}
+		}
+		if (scm_is_cipher_match(rsn.akm_suites,
+		   rsn.akm_suite_count,
+		   WLAN_RSN_SEL(WLAN_AKM_SUITEB_EAP_SHA384))) {
+			if (WLAN_AUTH_TYPE_SUITEB_EAP_SHA384 ==
+			   filter->auth_type[i]) {
+				neg_auth = WLAN_AUTH_TYPE_SUITEB_EAP_SHA384;
+				match = true;
+				break;
+			}
+		}
 	}
 
 	if (!match)