P2P: Fix wpas_remove_persistent_peer() to use P2P mgmt interface
The function used wpa_s->parent->conf to iterate the P2P networks and update the configuration file. However, wpa_s->parent is not necessarily the interface used to manage the P2P Device operations. Fix this by accessing the configuration file of the interface initialized to manage the P2P Device operations. Signed-off-by: Ilan Peer <ilan.peer@intel.com>
This commit is contained in:
parent
1e0a02942b
commit
b740401f18
1 changed files with 3 additions and 2 deletions
|
@ -2831,6 +2831,7 @@ static void wpas_remove_persistent_peer(struct wpa_supplicant *wpa_s,
|
||||||
const u8 *peer, int inv)
|
const u8 *peer, int inv)
|
||||||
{
|
{
|
||||||
size_t i;
|
size_t i;
|
||||||
|
struct wpa_supplicant *p2p_wpa_s = wpa_s->global->p2p_init_wpa_s;
|
||||||
|
|
||||||
if (ssid == NULL)
|
if (ssid == NULL)
|
||||||
return;
|
return;
|
||||||
|
@ -2860,8 +2861,8 @@ static void wpas_remove_persistent_peer(struct wpa_supplicant *wpa_s,
|
||||||
ssid->p2p_client_list + (i + 1) * 2 * ETH_ALEN,
|
ssid->p2p_client_list + (i + 1) * 2 * ETH_ALEN,
|
||||||
(ssid->num_p2p_clients - i - 1) * 2 * ETH_ALEN);
|
(ssid->num_p2p_clients - i - 1) * 2 * ETH_ALEN);
|
||||||
ssid->num_p2p_clients--;
|
ssid->num_p2p_clients--;
|
||||||
if (wpa_s->parent->conf->update_config &&
|
if (p2p_wpa_s->conf->update_config &&
|
||||||
wpa_config_write(wpa_s->parent->confname, wpa_s->parent->conf))
|
wpa_config_write(p2p_wpa_s->confname, p2p_wpa_s->conf))
|
||||||
wpa_printf(MSG_DEBUG, "P2P: Failed to update configuration");
|
wpa_printf(MSG_DEBUG, "P2P: Failed to update configuration");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue