summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTomasz Bursztyka <tomasz.bursztyka@linux.intel.com>2012-10-22 07:07:49 (GMT)
committerPatrik Flykt <patrik.flykt@linux.intel.com>2012-10-22 12:55:32 (GMT)
commit082a40ecad183cb25aefa25fa2e5aa709531b482 (patch)
treec3257baa0160dac768db2f1c5b3800371d11b197
parent876529569af8e5cfb7edb4face7b78e55de4ae03 (diff)
downloadconnman-082a40ecad183cb25aefa25fa2e5aa709531b482.zip
connman-082a40ecad183cb25aefa25fa2e5aa709531b482.tar.gz
connman-082a40ecad183cb25aefa25fa2e5aa709531b482.tar.bz2
device: Do not mark connecting networks unavailable
When autoscan fallback code is started, it sets scanning to true which in turn marks all networks unavailable except for the ones that are already connected. When connecting during an ongoing autoscan, the connection attempt stops autoscan and all unavailable networks are removed, also the one to be connected. The fix is to ignore both connected and connecting networks when marking networks unavailable.
-rw-r--r--src/device.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/device.c b/src/device.c
index 9f88dfa..fc374f5 100644
--- a/src/device.c
+++ b/src/device.c
@@ -660,7 +660,8 @@ static void mark_network_unavailable(gpointer key, gpointer value,
{
struct connman_network *network = value;
- if (connman_network_get_connected(network) == TRUE)
+ if (connman_network_get_connected(network) == TRUE ||
+ connman_network_get_connecting(network) == TRUE)
return;
connman_network_set_available(network, FALSE);