Cumulative patch from commit d0df64373561a8804c35e1900e5857096f5b73d8

d0df643 wpa_supplicant: Call frequency conflict handling during auth
0cf24fd scan: Reset normal scan counter when a connection succeeds
dcdce14 radiotap: Fix compilation for systems without le16toh/le32toh
9176ec0 Android: Disable unused parameter warnings
2aa82e5 Interworking: Don't filter probe requests when interworking is disabled
13f6a07 Add SIM identifier to the network profile and cred block

Change-Id: I9135d23aea91ca2950b5eeefa9f81c38ab1ff4d1
Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
diff --git a/src/ap/beacon.c b/src/ap/beacon.c
index e06ce77..56df318 100644
--- a/src/ap/beacon.c
+++ b/src/ap/beacon.c
@@ -600,7 +600,8 @@
 	}
 
 #ifdef CONFIG_INTERWORKING
-	if (elems.interworking && elems.interworking_len >= 1) {
+	if (hapd->conf->interworking &&
+	    elems.interworking && elems.interworking_len >= 1) {
 		u8 ant = elems.interworking[0] & 0x0f;
 		if (ant != INTERWORKING_ANT_WILDCARD &&
 		    ant != hapd->conf->access_network_type) {
@@ -611,7 +612,7 @@
 		}
 	}
 
-	if (elems.interworking &&
+	if (hapd->conf->interworking && elems.interworking &&
 	    (elems.interworking_len == 7 || elems.interworking_len == 9)) {
 		const u8 *hessid;
 		if (elems.interworking_len == 7)
diff --git a/src/common/qca-vendor.h b/src/common/qca-vendor.h
index cea4701..0e292e6 100644
--- a/src/common/qca-vendor.h
+++ b/src/common/qca-vendor.h
@@ -19,6 +19,13 @@
 #define OUI_QCA 0x001374
 
 /**
+ * enum qca_radiotap_vendor_ids - QCA radiotap vendor namespace IDs
+ */
+enum qca_radiotap_vendor_ids {
+	QCA_RADIOTAP_VID_WLANTEST = 0,
+};
+
+/**
  * enum qca_nl80211_vendor_subcmds - QCA nl80211 vendor command identifiers
  *
  * @QCA_NL80211_VENDOR_SUBCMD_UNSPEC: Reserved value 0
diff --git a/src/eap_peer/eap_config.h b/src/eap_peer/eap_config.h
index 98ec1f7..daa1d32 100644
--- a/src/eap_peer/eap_config.h
+++ b/src/eap_peer/eap_config.h
@@ -678,6 +678,14 @@
 	 * SIM/USIM processing.
 	 */
 	char *external_sim_resp;
+
+	/**
+	 * sim_num - User selected SIM identifier
+	 *
+	 * This variable is used for identifying which SIM is used if the system
+	 * has more than one.
+	 */
+	int sim_num;
 };
 
 
diff --git a/src/utils/platform.h b/src/utils/platform.h
index 9ab734b..46cfe78 100644
--- a/src/utils/platform.h
+++ b/src/utils/platform.h
@@ -1,12 +1,12 @@
-#include <stddef.h>
-#include <errno.h>
-#ifndef _BSD_SOURCE
-#define _BSD_SOURCE
-#endif
-#include <endian.h>
+#ifndef PLATFORM_H
+#define PLATFORM_H
 
-#define le16_to_cpu		le16toh
-#define le32_to_cpu		le32toh
+#include "includes.h"
+#include "common.h"
+
+#define le16_to_cpu		le_to_host16
+#define le32_to_cpu		le_to_host32
+
 #define get_unaligned(p)					\
 ({								\
 	struct packed_dummy_struct {				\
@@ -17,3 +17,5 @@
 })
 #define get_unaligned_le16(p)	le16_to_cpu(get_unaligned((uint16_t *)(p)))
 #define get_unaligned_le32(p)	le32_to_cpu(get_unaligned((uint32_t *)(p)))
+
+#endif /* PLATFORM_H */