P2P: Use only PSC for P2P group in the 6 GHz band
P2P connections in the 6 GHz band should be limited to preferred scanning channels since AP/GO discovery cannot depend on 2.4/5 GHz discovery. Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
This commit is contained in:
parent
7974d80531
commit
62612dfc1a
3 changed files with 5 additions and 1 deletions
|
@ -2428,5 +2428,6 @@ bool p2p_wfd_enabled(struct p2p_data *p2p);
|
||||||
bool is_p2p_allow_6ghz(struct p2p_data *p2p);
|
bool is_p2p_allow_6ghz(struct p2p_data *p2p);
|
||||||
void set_p2p_allow_6ghz(struct p2p_data *p2p, bool value);
|
void set_p2p_allow_6ghz(struct p2p_data *p2p, bool value);
|
||||||
int p2p_remove_6ghz_channels(struct weighted_pcl *pref_freq_list, int size);
|
int p2p_remove_6ghz_channels(struct weighted_pcl *pref_freq_list, int size);
|
||||||
|
int p2p_channel_to_freq(int op_class, int channel);
|
||||||
|
|
||||||
#endif /* P2P_H */
|
#endif /* P2P_H */
|
||||||
|
|
|
@ -680,7 +680,6 @@ struct p2p_group_info {
|
||||||
|
|
||||||
/* p2p_utils.c */
|
/* p2p_utils.c */
|
||||||
int p2p_random(char *buf, size_t len);
|
int p2p_random(char *buf, size_t len);
|
||||||
int p2p_channel_to_freq(int op_class, int channel);
|
|
||||||
int p2p_freq_to_channel(unsigned int freq, u8 *op_class, u8 *channel);
|
int p2p_freq_to_channel(unsigned int freq, u8 *op_class, u8 *channel);
|
||||||
void p2p_channels_intersect(const struct p2p_channels *a,
|
void p2p_channels_intersect(const struct p2p_channels *a,
|
||||||
const struct p2p_channels *b,
|
const struct p2p_channels *b,
|
||||||
|
|
|
@ -3802,6 +3802,10 @@ static enum chan_allowed wpas_p2p_verify_channel(struct wpa_supplicant *wpa_s,
|
||||||
int flag = 0;
|
int flag = 0;
|
||||||
enum chan_allowed res, res2;
|
enum chan_allowed res, res2;
|
||||||
|
|
||||||
|
if (is_6ghz_op_class(op_class) && !is_6ghz_psc_frequency(
|
||||||
|
p2p_channel_to_freq(op_class, channel)))
|
||||||
|
return NOT_ALLOWED;
|
||||||
|
|
||||||
res2 = res = has_channel(wpa_s->global, mode, op_class, channel, &flag);
|
res2 = res = has_channel(wpa_s->global, mode, op_class, channel, &flag);
|
||||||
if (bw == BW40MINUS) {
|
if (bw == BW40MINUS) {
|
||||||
if (!(flag & HOSTAPD_CHAN_HT40MINUS))
|
if (!(flag & HOSTAPD_CHAN_HT40MINUS))
|
||||||
|
|
Loading…
Reference in a new issue