summaryrefslogtreecommitdiff
path: root/plugins/wifi.c
diff options
context:
space:
mode:
authorManeesh Jain <maneesh.jain@samsung.com>2016-09-29 14:43:12 +0530
committerManeesh Jain <maneesh.jain@samsung.com>2016-09-29 16:28:46 +0530
commitffdbdd50be19d7debc9d749922a874761fcd2223 (patch)
tree8fcf5235d52689c8e542c56e5ec83e9e1612697d /plugins/wifi.c
parent7ace8c778781a6d3e47010843d9bc5c0d337594d (diff)
downloadconnman-ffdbdd50be19d7debc9d749922a874761fcd2223.tar.gz
connman-ffdbdd50be19d7debc9d749922a874761fcd2223.tar.bz2
connman-ffdbdd50be19d7debc9d749922a874761fcd2223.zip
[connman]: Fixed Scan Issue
Description: In following use case, ConnMan always perform the ssid based scan and unable to find the new AP's. a. Connect with any AP (Normal or Hidden) b. Disconnect with AP c. After this, ConnMan always perform the SSID based scan. Impact: Tizen Device is unable to scan new AP's. Reason: In Tizen, ConnMan configure the "BackgroundScanning" flag as false because background scan feature is implemented in net-config module. Due to this reason, I have added patch to sync-up the ConnMan scan implementation with net-config background scan feature. Change-Id: I0cff11df18780816b5f61a647c2298c781e78557 Signed-off-by: Maneesh Jain <maneesh.jain@samsung.com>
Diffstat (limited to 'plugins/wifi.c')
-rwxr-xr-xplugins/wifi.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/plugins/wifi.c b/plugins/wifi.c
index 1739e58a..c0079b38 100755
--- a/plugins/wifi.c
+++ b/plugins/wifi.c
@@ -131,6 +131,7 @@ struct wifi_data {
#if defined TIZEN_EXT
int assoc_retry_count;
struct connman_network *scan_pending_network;
+ bool allow_full_scan;
#endif
};
@@ -144,6 +145,7 @@ static gboolean found_with_first_scan = false;
static gboolean is_wifi_notifier_registered = false;
#endif
+
static GList *iface_list = NULL;
static GList *pending_wifi_device = NULL;
@@ -1319,6 +1321,11 @@ static void scan_callback(int result, GSupplicantInterface *interface,
connman_device_unref(device);
#if defined TIZEN_EXT
+ if (wifi && wifi->allow_full_scan) {
+ DBG("Trigger Full Channel Scan");
+ throw_wifi_scan(device, scan_callback);
+ wifi->allow_full_scan = FALSE;
+ }
if (wifi && wifi->scan_pending_network && result != -EIO) {
network_connect(wifi->scan_pending_network);
wifi->scan_pending_network = NULL;
@@ -1928,6 +1935,13 @@ static int wifi_scan(enum connman_service_type type,
connman_device_ref(device);
+#if defined TIZEN_EXT
+ /*To allow the Full Scan after ssid based scan, set the flag here
+ It is required because Tizen does not use the ConnMan specific
+ backgroung Scan feature.Tizen has added the BG Scan feature in net-config
+ To sync with up ConnMan, we need to issue the Full Scan after SSID specific scan.*/
+ wifi->allow_full_scan = TRUE;
+#endif
reset_autoscan(device);
ret = g_supplicant_interface_scan(wifi->interface, scan_params,