P2P: Modify p2p_get_pref_freq

In p2p_get_pref_freq, if the channels argument is NULL, select a
preferred channel that is also one of the P2P Device configured
channels.

Signed-off-by: Ilan Peer <ilan.peer@intel.com>
This commit is contained in:
Ilan Peer 2014-05-23 20:03:01 +03:00 committed by Jouni Malinen
parent 0a816e8cbf
commit 751b00ba28

View file

@ -388,17 +388,19 @@ unsigned int p2p_get_pref_freq(struct p2p_data *p2p,
const struct p2p_channels *channels)
{
unsigned int i;
int freq;
int freq = 0;
const struct p2p_channels *tmpc = channels ?
channels : &p2p->cfg->channels;
if (tmpc == NULL)
return 0;
for (i = 0; p2p->cfg->pref_chan && i < p2p->cfg->num_pref_chan; i++) {
freq = p2p_channel_to_freq(p2p->cfg->pref_chan[i].op_class,
p2p->cfg->pref_chan[i].chan);
if (freq <= 0)
continue;
if (!channels || p2p_channels_includes_freq(channels, freq))
if (p2p_channels_includes_freq(tmpc, freq))
return freq;
}
return 0;
}