diff options
author | Saurav Babu <saurav.babu@samsung.com> | 2018-05-21 15:16:26 +0530 |
---|---|---|
committer | Saurav Babu <saurav.babu@samsung.com> | 2018-05-21 15:16:26 +0530 |
commit | 5d9d3391d8d6f853b47c208499e8b760170120ae (patch) | |
tree | 8ba00b2fab5cff9980bdeb20f4a178ddcdf5e6df | |
parent | dee0b094d657dc9aa96d7f771fa2e0ee5de1942c (diff) | |
download | connman-accepted/tizen/unified/20180523.144422.tar.gz connman-accepted/tizen/unified/20180523.144422.tar.bz2 connman-accepted/tizen/unified/20180523.144422.zip |
Don't remove network when G_SUPPLICANT_STATE_DISCONNECTED is receivedsubmit/tizen/20180523.065951accepted/tizen/unified/20180523.144422
In case of WPS PBC connection without SSID, sometimes few attempts fail
and on subsequent retries connection is established successfully. If we
remove network when disconnection is received for the first time from
wpa_supplicant then future retries doesn't take place and WPS connection
without SSID always fails
Change-Id: I2a5754c5e4a442e3305befdea3a94a6c728ef817
Signed-off-by: Saurav Babu <saurav.babu@samsung.com>
-rwxr-xr-x | gsupplicant/gsupplicant.h | 3 | ||||
-rw-r--r-- | gsupplicant/supplicant.c | 23 | ||||
-rwxr-xr-x | plugins/wifi.c | 24 |
3 files changed, 0 insertions, 50 deletions
diff --git a/gsupplicant/gsupplicant.h b/gsupplicant/gsupplicant.h index 3dff2b46..b0984b8c 100755 --- a/gsupplicant/gsupplicant.h +++ b/gsupplicant/gsupplicant.h @@ -310,9 +310,6 @@ int g_supplicant_interface_disconnect(GSupplicantInterface *interface, GSupplicantInterfaceCallback callback, void *user_data); -#if defined TIZEN_EXT -int g_supplicant_interface_remove_network(GSupplicantInterface *interface); -#endif int g_supplicant_interface_set_apscan(GSupplicantInterface *interface, unsigned int ap_scan); diff --git a/gsupplicant/supplicant.c b/gsupplicant/supplicant.c index 4a78cee2..a403c202 100644 --- a/gsupplicant/supplicant.c +++ b/gsupplicant/supplicant.c @@ -6509,29 +6509,6 @@ int g_supplicant_set_widi_ies(GSupplicantP2PServiceParams *p2p_service_params, return -EINPROGRESS; } -#if defined TIZEN_EXT -int g_supplicant_interface_remove_network(GSupplicantInterface *interface) -{ - struct interface_data *data; - - SUPPLICANT_DBG(""); - - if (interface == NULL) - return -EINVAL; - - if (system_available == FALSE) - return -EFAULT; - - data = dbus_malloc0(sizeof(*data)); - if (data == NULL) - return -ENOMEM; - - data->interface = interface; - - return network_remove(data); -} -#endif - static const char *g_supplicant_rule0 = "type=signal," "path=" DBUS_PATH_DBUS "," "sender=" DBUS_SERVICE_DBUS "," diff --git a/plugins/wifi.c b/plugins/wifi.c index aad3b2cc..c471accf 100755 --- a/plugins/wifi.c +++ b/plugins/wifi.c @@ -3138,13 +3138,6 @@ static void interface_state(GSupplicantInterface *interface) } #if defined TIZEN_EXT - int err; - - err = g_supplicant_interface_remove_network(wifi->interface); - if (err < 0) - DBG("Failed to remove network(%d)", err); - - /* Some of Wi-Fi networks are not comply Wi-Fi specification. * Retry association until its retry count is expired */ if (handle_wifi_assoc_retry(network, wifi) == true) { @@ -3157,23 +3150,6 @@ static void interface_state(GSupplicantInterface *interface) DBG("Set disconnect reason code(%d)", wifi->disconnect_code); connman_network_set_disconnect_reason(network, wifi->disconnect_code); } - - /* To avoid unnecessary repeated association in wpa_supplicant, - * "RemoveNetwork" should be made when Wi-Fi is disconnected */ - if (wps != true && wifi->network && wifi->disconnecting == false) { - wifi->disconnecting = true; - err = g_supplicant_interface_disconnect(wifi->interface, - disconnect_callback, wifi->network); - if (err < 0) - wifi->disconnecting = false; - - connman_network_set_connected(network, false); - connman_network_set_associating(network, false); - - start_autoscan(device); - - break; - } #endif connman_network_set_connected(network, false); |