X-Git-Url: http://git.ipfire.org/?a=blobdiff_plain;f=wpa_supplicant%2Fwps_supplicant.c;h=ba59e7cf5df8f4e76f629de2d687a6dbcfd4e3f6;hb=c2762e410fa319f75a174aeb12343beddf99fce4;hp=778ccaf37a20c4137b4b689ef31fad2bb1817df4;hpb=c988980d95a8c88f81adb799a39caabe5bed1715;p=thirdparty%2Fhostap.git diff --git a/wpa_supplicant/wps_supplicant.c b/wpa_supplicant/wps_supplicant.c index 778ccaf37..ba59e7cf5 100644 --- a/wpa_supplicant/wps_supplicant.c +++ b/wpa_supplicant/wps_supplicant.c @@ -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;