summaryrefslogtreecommitdiffstats
path: root/service/jni
diff options
context:
space:
mode:
authorVinit Deshpande <vinitd@google.com>2015-05-27 11:24:47 -0700
committerVinit Deshpande <vinitd@google.com>2015-06-02 14:13:15 -0700
commitf49a59bda006b13e0118d144e0a4a5f569b2251e (patch)
treee1e32be89a7d4a387b3ef25cabc21d1f733d565c /service/jni
parentcbda71c1f091b9ebcf77242795774e85d35ec992 (diff)
downloadandroid_frameworks_opt_net_wifi-f49a59bda006b13e0118d144e0a4a5f569b2251e.tar.gz
android_frameworks_opt_net_wifi-f49a59bda006b13e0118d144e0a4a5f569b2251e.tar.bz2
android_frameworks_opt_net_wifi-f49a59bda006b13e0118d144e0a4a5f569b2251e.zip
Issue start/stop HAL along with load/unload driver
This ensures that HAL is enabled when driver is loaded; and HAL is torn down when driver is unloaded. Change-Id: Ia7a3e0a485a37b137750040aaecde7cb92eb59e4
Diffstat (limited to 'service/jni')
-rw-r--r--service/jni/com_android_server_wifi_WifiNative.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/service/jni/com_android_server_wifi_WifiNative.cpp b/service/jni/com_android_server_wifi_WifiNative.cpp
index 197e258dc..806e7aef8 100644
--- a/service/jni/com_android_server_wifi_WifiNative.cpp
+++ b/service/jni/com_android_server_wifi_WifiNative.cpp
@@ -359,8 +359,11 @@ static void android_net_wifi_stopHal(JNIEnv* env, jclass cls) {
ALOGD("In wifi stop Hal");
wifi_handle halHandle = getWifiHandle(env, cls);
+ if (halHandle == NULL)
+ return;
+
+ ALOGD("halHandle = %p, mVM = %p, mCls = %p", halHandle, mVM, mCls);
hal_fn.wifi_cleanup(halHandle, android_net_wifi_hal_cleaned_up_handler);
- set_iface_flags("wlan0", 0);
}
static void android_net_wifi_waitForHalEvents(JNIEnv* env, jclass cls) {
@@ -369,6 +372,7 @@ static void android_net_wifi_waitForHalEvents(JNIEnv* env, jclass cls) {
wifi_handle halHandle = getWifiHandle(env, cls);
hal_fn.wifi_event_loop(halHandle);
+ set_iface_flags("wlan0", 0);
}
static int android_net_wifi_getInterfaces(JNIEnv *env, jclass cls) {
@@ -1956,7 +1960,7 @@ static jboolean android_net_wifi_setPnoListNative(
static jboolean android_net_wifi_setLazyRoam(
JNIEnv *env, jclass cls, jint iface, jint id, jboolean enabled, jobject roam_param) {
- jboolean status = true;
+ wifi_error status = WIFI_SUCCESS;
wifi_roam_params params;
memset(&params, 0, sizeof(params));