X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=plugins%2Fwifi.c;h=05eb47ea4492de8d851dc17f3bb89ed78c83bfb5;hb=a41da5aab565ad5a682aad5142379aae398bb5ba;hp=72eb64f7d61f8edd60de0680a20fe225702d28b5;hpb=b98026b7b4bf550e955d58dd3c672d7382a685e7;p=platform%2Fupstream%2Fconnman.git diff --git a/plugins/wifi.c b/plugins/wifi.c index 72eb64f..05eb47e 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,