This terminates the body of stop_autoscan if autoscan is
not active. Per MEEGO-25987 <http://bugs.meego.com/show_bug.cgi?id=25987>,
running stop_autoscan when changing connected services can prematurely and
incorrectly terminate a new, in-flight service connection and result in a
failure of that connection with "net.connman.Error.OperationAborted:
Operation aborted".

diff --git a/plugins/wifi.c b/plugins/wifi.c
index dd79cd3..a0cb966 100644
--- a/plugins/wifi.c
+++ b/plugins/wifi.c
@@ -233,6 +233,11 @@ static void reset_autoscan(struct connman_device *device)
 
 static void stop_autoscan(struct connman_device *device)
 {
+       const struct wifi_data *wifi = connman_device_get_data(device);
+
+       if (wifi == NULL || wifi->autoscan == NULL)
+               return;
+
        reset_autoscan(device);
 
        connman_device_set_scanning(device, FALSE);
-- 
1.8.1.1

_______________________________________________
connman mailing list
[email protected]
http://lists.connman.net/listinfo/connman

Reply via email to