P2P: Use another interface operating channel as listen channel
Performing a P2P Device flow such as p2p_listen or p2p_find, can degrade the performance of an active interface connection, if the listen frequency is different than the frequency used by that interface. To reduce the effect of P2P Device flows on other interfaces, try changing the listen channel of the P2P Device to match the operating channel of one of the other active interfaces. This change will be possible only in case that the listen channel is not forced externally, and will be delayed to a point where the P2P Device state machine is idle. The optimization can be configured in the configuration file and is disabled by default. Signed-off-by: Ilan Peer <ilan.peer@intel.com>
This commit is contained in:
parent
28812a8983
commit
e3bd6e9dc0
10 changed files with 132 additions and 6 deletions
|
@ -3256,6 +3256,7 @@ struct wpa_config * wpa_config_alloc_empty(const char *ctrl_interface,
|
|||
config->p2p_go_intent = DEFAULT_P2P_GO_INTENT;
|
||||
config->p2p_intra_bss = DEFAULT_P2P_INTRA_BSS;
|
||||
config->p2p_go_max_inactivity = DEFAULT_P2P_GO_MAX_INACTIVITY;
|
||||
config->p2p_optimize_listen_chan = DEFAULT_P2P_OPTIMIZE_LISTEN_CHAN;
|
||||
config->bss_max_count = DEFAULT_BSS_MAX_COUNT;
|
||||
config->bss_expiration_age = DEFAULT_BSS_EXPIRATION_AGE;
|
||||
config->bss_expiration_scan_count = DEFAULT_BSS_EXPIRATION_SCAN_COUNT;
|
||||
|
@ -3838,6 +3839,7 @@ static const struct global_parse_data global_fields[] = {
|
|||
{ FUNC(p2p_pref_chan), CFG_CHANGED_P2P_PREF_CHAN },
|
||||
{ FUNC(p2p_no_go_freq), CFG_CHANGED_P2P_PREF_CHAN },
|
||||
{ INT_RANGE(p2p_add_cli_chan, 0, 1), 0 },
|
||||
{ INT_RANGE(p2p_optimize_listen_chan, 0, 1), 0 },
|
||||
{ INT(p2p_go_ht40), 0 },
|
||||
{ INT(p2p_go_vht), 0 },
|
||||
{ INT(p2p_disabled), 0 },
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue