aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNaresh Jayaram <njayar@codeaurora.org>2014-08-21 20:05:18 +0530
committerLinux Build Service Account <lnxbuild@localhost>2014-11-04 08:24:15 -0700
commit51274b7a19d7a802bc091848b88913fecfc35e24 (patch)
treedbd79ead6090d768a9585ebf17c1f12ca6a204bf
parent051633f268f220014d0626278064becc4442e8a3 (diff)
downloadandroid_external_wpa_supplicant_8-51274b7a19d7a802bc091848b88913fecfc35e24.tar.gz
android_external_wpa_supplicant_8-51274b7a19d7a802bc091848b88913fecfc35e24.tar.bz2
android_external_wpa_supplicant_8-51274b7a19d7a802bc091848b88913fecfc35e24.zip
eap_proxy: Add baseband property information for MSM8994 target
For MSM8994 targets, the ro.baseband property is different than other MSM targets. Due to which the eap_proxy layer in the supplicant was failing to open a socket connection with the QMI interface. To mitigate this, added a right ro.baseband property in the proxy layer. Change-Id: I4e105c12c29cc25cf4e0c7ea0b19bd975372fdbb CRs-Fixed: 712960
-rw-r--r--src/eap_peer/eap_proxy_qmi.c23
-rw-r--r--wpa_supplicant/eap_proxy_qmi.mk4
2 files changed, 24 insertions, 3 deletions
diff --git a/src/eap_peer/eap_proxy_qmi.c b/src/eap_peer/eap_proxy_qmi.c
index c2034095..471e24ae 100644
--- a/src/eap_peer/eap_proxy_qmi.c
+++ b/src/eap_peer/eap_proxy_qmi.c
@@ -52,7 +52,10 @@ IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
/* Default timeout (in milli-seconds) for synchronous QMI message */
#define WPA_UIM_QMI_DEFAULT_TIMEOUT 5000
-#define EAP_PROXY_PROPERTY_BASEBAND "ro.baseband"
+#define EAP_PROXY_PROPERTY_BASEBAND "ro.baseband"
+#ifdef CONFIG_EAP_PROXY_MSM8994_TARGET
+#define EAP_PROXY_TARGET_PLATFORM "ro.board.platform"
+#endif /* CONFIG_EAP_PROXY_MSM8994_TARGET */
#if defined(__BIONIC_FORTIFY)
#define EAP_PROXY_PROPERTY_BASEBAND_SIZE PROP_VALUE_MAX
#else
@@ -65,6 +68,9 @@ IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#define EAP_PROXY_BASEBAND_VALUE_SGLTE "sglte"
#define EAP_PROXY_BASEBAND_VALUE_CSFB "csfb"
#define EAP_PROXY_BASEBAND_VALUE_MDMUSB "mdm"
+#ifdef CONFIG_EAP_PROXY_MSM8994_TARGET
+#define EAP_PROXY_TARGET_PLATFORM_MSM8994 "msm8994"
+#endif /* CONFIG_EAP_PROXY_MSM8994_TARGET */
#define EAP_PROXY_BASEBAND_VALUE_UNDEFINED "undefined"
#ifdef SIM_AKA_IDENTITY_IMSI
@@ -557,13 +563,13 @@ const char * eap_proxy_get_port(void)
char def[EAP_PROXY_PROPERTY_BASEBAND_SIZE] = {0};
ret = property_get(EAP_PROXY_PROPERTY_BASEBAND, args, def);
- if (ret > EAP_PROXY_PROPERTY_BASEBAND_SIZE){
+ if (ret > EAP_PROXY_PROPERTY_BASEBAND_SIZE) {
wpa_printf(MSG_ERROR,"property [%s] has size [%d] that exceeds max [%d]",
EAP_PROXY_PROPERTY_BASEBAND,
ret,
EAP_PROXY_PROPERTY_BASEBAND_SIZE);
return NULL;
- }
+ }
if(!os_strncmp(EAP_PROXY_BASEBAND_VALUE_MSM, args, 3)) {
wpa_printf(MSG_ERROR,"baseband property is set to [%s]", args);
@@ -592,6 +598,17 @@ const char * eap_proxy_get_port(void)
wpa_printf(MSG_ERROR,"baseband property is set to [%s]", args);
eap_proxy_port = QMI_PORT_RMNET_1;
}
+#ifdef CONFIG_EAP_PROXY_MSM8994_TARGET
+ if ((!os_strncmp(EAP_PROXY_BASEBAND_VALUE_MSM, args, 3)) ||
+ (!os_strncmp(EAP_PROXY_BASEBAND_VALUE_APQ, args, 3)) ||
+ (!os_strncmp(EAP_PROXY_BASEBAND_VALUE_SGLTE, args, 5))) {
+ ret = property_get(EAP_PROXY_TARGET_PLATFORM, args, def);
+ if (!os_strncmp(EAP_PROXY_TARGET_PLATFORM_MSM8994, args, 7)) {
+ wpa_printf(MSG_ERROR,"baseband property is set to [%s]: for 8994 HW", args);
+ eap_proxy_port = QMI_PORT_RMNET_0;
+ }
+ }
+#endif /* CONFIG_EAP_PROXY_MSM8994_TARGET */
return eap_proxy_port;
}
diff --git a/wpa_supplicant/eap_proxy_qmi.mk b/wpa_supplicant/eap_proxy_qmi.mk
index 49397ba7..eecbed6e 100644
--- a/wpa_supplicant/eap_proxy_qmi.mk
+++ b/wpa_supplicant/eap_proxy_qmi.mk
@@ -24,6 +24,10 @@ ifdef CONFIG_EAP_PROXY_AKA_PRIME
L_CFLAGS += -DCONFIG_EAP_PROXY_AKA_PRIME
endif
+ifdef CONFIG_EAP_PROXY_MSM8994_TARGET
+L_CFLAGS += -DCONFIG_EAP_PROXY_MSM8994_TARGET
+endif
+
#ANDROID_SETGROUPS_OVERRIDE := AID_RADIO AID_WIFI AID_KEYSTORE AID_DIAG AID_INET AID_QCOM_DIAG
L_CFLAGS += -DANDROID_SETGROUPS_OVERRIDE=1001,1010,1017,2002,1003,3009
endif