From 86b91c89afb296d477972dd624a7cdfbe86685cf Mon Sep 17 00:00:00 2001 From: Ilan Peer Date: Tue, 12 May 2015 17:39:59 +0300 Subject: [PATCH] P2P: Fix wpas_p2p_set_own_freq_preference() to use P2P mgmt interface wpas_p2p_set_own_freq_preference() accessed wpa_s->parent->conf to test if p2p_ignore_shared_freq is set, but 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 --- wpa_supplicant/p2p_supplicant.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/wpa_supplicant/p2p_supplicant.c b/wpa_supplicant/p2p_supplicant.c index d4ff3e33d..004d84d69 100644 --- a/wpa_supplicant/p2p_supplicant.c +++ b/wpa_supplicant/p2p_supplicant.c @@ -191,7 +191,11 @@ static void wpas_p2p_set_own_freq_preference(struct wpa_supplicant *wpa_s, { if (wpa_s->global->p2p_disabled || wpa_s->global->p2p == NULL) return; - if (wpa_s->parent->conf->p2p_ignore_shared_freq && + + /* Use the wpa_s used to control the P2P Device operation */ + wpa_s = wpa_s->global->p2p_init_wpa_s; + + if (wpa_s->conf->p2p_ignore_shared_freq && freq > 0 && wpa_s->num_multichan_concurrent > 1 && wpas_p2p_num_unused_channels(wpa_s) > 0) { wpa_printf(MSG_DEBUG, "P2P: Ignore own channel preference %d MHz due to p2p_ignore_shared_freq=1 configuration",