P2P: Fix persistent group profile on manual disabled=2 change
ssid->p2p_persistent_group was left to its old value when changing a network profile to/from P2P persistent group type (disabled=2). This could result in unexpected behavior when using an incomplete persistent group profile. This was mainly visible through D-Bus network profile handling where a persistent group would not be unregistered insome cases. Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
This commit is contained in:
parent
3a59cda1d0
commit
661888be39
1 changed files with 2 additions and 0 deletions
|
@ -790,10 +790,12 @@ void wpas_notify_network_type_changed(struct wpa_supplicant *wpa_s,
|
||||||
ssid->disabled = 0;
|
ssid->disabled = 0;
|
||||||
wpas_dbus_unregister_network(wpa_s, ssid->id);
|
wpas_dbus_unregister_network(wpa_s, ssid->id);
|
||||||
ssid->disabled = 2;
|
ssid->disabled = 2;
|
||||||
|
ssid->p2p_persistent_group = 1;
|
||||||
wpas_dbus_register_persistent_group(wpa_s, ssid);
|
wpas_dbus_register_persistent_group(wpa_s, ssid);
|
||||||
} else {
|
} else {
|
||||||
/* Changed from persistent group to normal network profile */
|
/* Changed from persistent group to normal network profile */
|
||||||
wpas_dbus_unregister_persistent_group(wpa_s, ssid->id);
|
wpas_dbus_unregister_persistent_group(wpa_s, ssid->id);
|
||||||
|
ssid->p2p_persistent_group = 0;
|
||||||
wpas_dbus_register_network(wpa_s, ssid);
|
wpas_dbus_register_network(wpa_s, ssid);
|
||||||
}
|
}
|
||||||
#endif /* CONFIG_P2P */
|
#endif /* CONFIG_P2P */
|
||||||
|
|
Loading…
Reference in a new issue