From 5d9d3391d8d6f853b47c208499e8b760170120ae Mon Sep 17 00:00:00 2001 From: Saurav Babu Date: Mon, 21 May 2018 15:16:26 +0530 Subject: [PATCH] Don't remove network when G_SUPPLICANT_STATE_DISCONNECTED is received 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 --- gsupplicant/gsupplicant.h | 3 --- gsupplicant/supplicant.c | 23 ----------------------- plugins/wifi.c | 24 ------------------------ 3 files changed, 50 deletions(-) diff --git a/gsupplicant/gsupplicant.h b/gsupplicant/gsupplicant.h index 3dff2b4..b0984b8 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 4a78cee..a403c20 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 aad3b2c..c471acc 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); -- 2.7.4