mirror of
https://github.com/vanhoefm/fragattacks.git
synced 2025-01-18 10:54:03 -05:00
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
@ -3562,6 +3562,20 @@ static int p2p_ctrl_set(struct wpa_supplicant *wpa_s, char *cmd)
|
|||||||
return 0;
|
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) {
|
if (os_strcmp(cmd, "force_long_sd") == 0) {
|
||||||
wpa_s->force_long_sd = atoi(param);
|
wpa_s->force_long_sd = atoi(param);
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -3357,3 +3357,13 @@ int wpas_network_disabled(struct wpa_supplicant *wpa_s, struct wpa_ssid *ssid)
|
|||||||
|
|
||||||
return 0;
|
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;
|
int cross_connection;
|
||||||
struct wpa_freq_range *p2p_disallow_freq;
|
struct wpa_freq_range *p2p_disallow_freq;
|
||||||
unsigned int num_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 wpa_supplicant_clear_status(struct wpa_supplicant *wpa_s);
|
||||||
void wpas_connection_failed(struct wpa_supplicant *wpa_s, const u8 *bssid);
|
void wpas_connection_failed(struct wpa_supplicant *wpa_s, const u8 *bssid);
|
||||||
int wpas_driver_bss_selection(struct wpa_supplicant *wpa_s);
|
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);
|
void wpa_supplicant_proc_40mhz_intolerant(struct wpa_supplicant *wpa_s);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Loading…
Reference in New Issue
Block a user