]> git.ipfire.org Git - thirdparty/hostap.git/blobdiff - wpa_supplicant/wps_supplicant.c
P2P: Update D-Bus network object semantics during group formation
[thirdparty/hostap.git] / wpa_supplicant / wps_supplicant.c
index 778ccaf37a20c4137b4b689ef31fad2bb1817df4..ba59e7cf5df8f4e76f629de2d687a6dbcfd4e3f6 100644 (file)
@@ -780,9 +780,18 @@ static void wpas_wps_reassoc(struct wpa_supplicant *wpa_s,
        ssid = wpa_s->conf->ssid;
        while (ssid) {
                int was_disabled = ssid->disabled;
-               ssid->disabled = ssid != selected;
-               if (was_disabled != ssid->disabled)
-                       wpas_notify_network_enabled_changed(wpa_s, ssid);
+               /*
+                * In case the network object corresponds to a persistent group
+                * then do not send out network disabled signal. In addition,
+                * do not change disabled status of persistent network objects
+                * from 2 to 1 should we connect to another network.
+                */
+               if (was_disabled != 2) {
+                       ssid->disabled = ssid != selected;
+                       if (was_disabled != ssid->disabled)
+                               wpas_notify_network_enabled_changed(wpa_s,
+                                                                   ssid);
+               }
                ssid = ssid->next;
        }
        wpa_s->disconnected = 0;