diff options
author | Vinit Deshpande <vinitd@google.com> | 2015-05-27 11:24:47 -0700 |
---|---|---|
committer | Vinit Deshpande <vinitd@google.com> | 2015-06-02 14:13:15 -0700 |
commit | f49a59bda006b13e0118d144e0a4a5f569b2251e (patch) | |
tree | e1e32be89a7d4a387b3ef25cabc21d1f733d565c /service/jni | |
parent | cbda71c1f091b9ebcf77242795774e85d35ec992 (diff) | |
download | android_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.cpp | 8 |
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(¶ms, 0, sizeof(params)); |