P2P: Add preference setting for concurrent use cases
Add an additional parameter to prioritize either sta or p2p connection to resolve conflicts arising during single channel concurrency. Signed-hostap: Jithu Jance <jithu@broadcom.com>
This commit is contained in:
parent
a0227929dc
commit
b9cfc09a81
3 changed files with 30 additions and 0 deletions
|
@ -3562,6 +3562,20 @@ static int p2p_ctrl_set(struct wpa_supplicant *wpa_s, char *cmd)
|
|||
return 0;
|
||||
}
|
||||
|
||||
if (os_strcmp(cmd, "conc_pref") == 0) {
|
||||
if (os_strcmp(param, "sta") == 0)
|
||||
wpa_s->global->conc_pref = WPA_CONC_PREF_STA;
|
||||
else if (os_strcmp(param, "p2p") == 0)
|
||||
wpa_s->global->conc_pref = WPA_CONC_PREF_P2P;
|
||||
else {
|
||||
wpa_printf(MSG_INFO, "Invalid conc_pref value");
|
||||
return -1;
|
||||
}
|
||||
wpa_printf(MSG_DEBUG, "Single channel concurrency preference: "
|
||||
"%s", param);
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (os_strcmp(cmd, "force_long_sd") == 0) {
|
||||
wpa_s->force_long_sd = atoi(param);
|
||||
return 0;
|
||||
|
|
|
@ -3357,3 +3357,13 @@ int wpas_network_disabled(struct wpa_supplicant *wpa_s, struct wpa_ssid *ssid)
|
|||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
int wpas_is_p2p_prioritized(struct wpa_supplicant *wpa_s)
|
||||
{
|
||||
if (wpa_s->global->conc_pref == WPA_CONC_PREF_P2P)
|
||||
return 1;
|
||||
if (wpa_s->global->conc_pref == WPA_CONC_PREF_STA)
|
||||
return 0;
|
||||
return -1;
|
||||
}
|
||||
|
|
|
@ -234,6 +234,11 @@ struct wpa_global {
|
|||
int cross_connection;
|
||||
struct wpa_freq_range *p2p_disallow_freq;
|
||||
unsigned int num_p2p_disallow_freq;
|
||||
enum wpa_conc_pref {
|
||||
WPA_CONC_PREF_NOT_SET,
|
||||
WPA_CONC_PREF_STA,
|
||||
WPA_CONC_PREF_P2P
|
||||
} conc_pref;
|
||||
};
|
||||
|
||||
|
||||
|
@ -642,6 +647,7 @@ void wpa_supplicant_update_config(struct wpa_supplicant *wpa_s);
|
|||
void wpa_supplicant_clear_status(struct wpa_supplicant *wpa_s);
|
||||
void wpas_connection_failed(struct wpa_supplicant *wpa_s, const u8 *bssid);
|
||||
int wpas_driver_bss_selection(struct wpa_supplicant *wpa_s);
|
||||
int wpas_is_p2p_prioritized(struct wpa_supplicant *wpa_s);
|
||||
void wpa_supplicant_proc_40mhz_intolerant(struct wpa_supplicant *wpa_s);
|
||||
|
||||
/**
|
||||
|
|
Loading…
Reference in a new issue