[ITC][wifi][Non-ACR][Fixed issue - TSAM-13980]
authortaesub kim <taesub.kim@samsung.com>
Thu, 26 Oct 2017 08:56:51 +0000 (17:56 +0900)
committertaesub kim <taesub.kim@samsung.com>
Thu, 26 Oct 2017 08:56:56 +0000 (17:56 +0900)
Change-Id: I45a8608640ecb4bb88b1c73ebb49249608dd7312
Signed-off-by: Taesub Kim <taesub.kim@samsung.com>
src/itc/wifi/ITs-wifi-monitor.c

index 75f01cf4fa2b0ee77c38915e8372387dc9cfa372..525f7cc54f2bf28e459b4f5c423dd124c0cc9099 100755 (executable)
@@ -447,9 +447,26 @@ int ITc_wifi_set_unset_rssi_level_changed_cb_p(void)
 
        int nWifiTimeoutId = -1;
        g_bRSSICheckCb = false;
+       wifi_connection_state_e eWifiConnectionState;
+
        int nRet = wifi_set_rssi_level_changed_cb(WifiRssiLevelChangesCallback, NULL);//target api
        PRINT_RESULT(WIFI_ERROR_NONE, nRet, "wifi_set_rssi_level_changed_cb", WifiGetError(nRet));
 
+       nRet = wifi_get_connection_state(&eWifiConnectionState);
+       PRINT_RESULT(WIFI_ERROR_NONE, nRet, "wifi_get_connection_state", WifiGetError(nRet));
+
+       if(eWifiConnectionState == WIFI_CONNECTION_STATE_CONNECTED) {
+               g_bCheckCb = false;
+               nRet = wifi_deactivate(WifiDeActivatedCallback, NULL);
+               RUN_POLLING_LOOP;
+               PRINT_RESULT_CLEANUP(WIFI_ERROR_NONE, nRet, "wifi_deactivate", WifiGetError(nRet), wifi_unset_connection_state_changed_cb());
+               if ( !g_bCheckCb )
+               {
+                       FPRINTF("[Line : %d][%s] wifi_deactivate failed, error returned = callback not invoked\\n", __LINE__, API_NAMESPACE);
+                       return 1;
+               }
+       }
+
        if ( !WifiPreConnectCondition() )
        {
                FPRINTF("[Line : %d][%s] WifiPreConnectCondition failed\\n", __LINE__, API_NAMESPACE);
@@ -465,6 +482,7 @@ int ITc_wifi_set_unset_rssi_level_changed_cb_p(void)
                wifi_unset_rssi_level_changed_cb();
                return 1;
        }
+
        nRet = wifi_unset_rssi_level_changed_cb();
        PRINT_RESULT(WIFI_ERROR_NONE, nRet, "wifi_unset_rssi_level_changed_cb", WifiGetError(nRet));