P2P: Add allow_6ghz parameter to control interface
Introduce a new allow_6ghz parameter with P2P_CONNECT, P2P_GROUP_ADD, and P2P_INVITE commands for P2P connection on the 6 GHz channels when Wi-Fi Display is enabled on both the devices. This commit is only adding the interface change without changing any actual P2P functionality. Signed-off-by: Sreeramya Soratkal <ssramya@codeaurora.org>
This commit is contained in:
parent
f7d4f1cbec
commit
b36142a740
4 changed files with 59 additions and 33 deletions
|
@ -6046,6 +6046,7 @@ static int p2p_ctrl_connect(struct wpa_supplicant *wpa_s, char *cmd,
|
||||||
u8 _group_ssid[SSID_MAX_LEN], *group_ssid = NULL;
|
u8 _group_ssid[SSID_MAX_LEN], *group_ssid = NULL;
|
||||||
size_t group_ssid_len = 0;
|
size_t group_ssid_len = 0;
|
||||||
int he;
|
int he;
|
||||||
|
bool allow_6ghz;
|
||||||
|
|
||||||
if (!wpa_s->global->p2p_init_wpa_s)
|
if (!wpa_s->global->p2p_init_wpa_s)
|
||||||
return -1;
|
return -1;
|
||||||
|
@ -6083,6 +6084,7 @@ static int p2p_ctrl_connect(struct wpa_supplicant *wpa_s, char *cmd,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
join = os_strstr(pos, " join") != NULL;
|
join = os_strstr(pos, " join") != NULL;
|
||||||
|
allow_6ghz = os_strstr(pos, " allow_6ghz") != NULL;
|
||||||
auth = os_strstr(pos, " auth") != NULL;
|
auth = os_strstr(pos, " auth") != NULL;
|
||||||
automatic = os_strstr(pos, " auto") != NULL;
|
automatic = os_strstr(pos, " auto") != NULL;
|
||||||
pd = os_strstr(pos, " provdisc") != NULL;
|
pd = os_strstr(pos, " provdisc") != NULL;
|
||||||
|
@ -6162,7 +6164,7 @@ static int p2p_ctrl_connect(struct wpa_supplicant *wpa_s, char *cmd,
|
||||||
persistent_group, automatic, join,
|
persistent_group, automatic, join,
|
||||||
auth, go_intent, freq, freq2, persistent_id,
|
auth, go_intent, freq, freq2, persistent_id,
|
||||||
pd, ht40, vht, max_oper_chwidth, he, edmg,
|
pd, ht40, vht, max_oper_chwidth, he, edmg,
|
||||||
group_ssid, group_ssid_len);
|
group_ssid, group_ssid_len, allow_6ghz);
|
||||||
if (new_pin == -2) {
|
if (new_pin == -2) {
|
||||||
os_memcpy(buf, "FAIL-CHANNEL-UNAVAILABLE\n", 25);
|
os_memcpy(buf, "FAIL-CHANNEL-UNAVAILABLE\n", 25);
|
||||||
return 25;
|
return 25;
|
||||||
|
@ -6719,6 +6721,7 @@ static int p2p_ctrl_invite_persistent(struct wpa_supplicant *wpa_s, char *cmd)
|
||||||
int freq = 0, pref_freq = 0;
|
int freq = 0, pref_freq = 0;
|
||||||
int ht40, vht, he, max_oper_chwidth, chwidth = 0, freq2 = 0;
|
int ht40, vht, he, max_oper_chwidth, chwidth = 0, freq2 = 0;
|
||||||
int edmg;
|
int edmg;
|
||||||
|
bool allow_6ghz;
|
||||||
|
|
||||||
id = atoi(cmd);
|
id = atoi(cmd);
|
||||||
pos = os_strstr(cmd, " peer=");
|
pos = os_strstr(cmd, " peer=");
|
||||||
|
@ -6770,8 +6773,11 @@ static int p2p_ctrl_invite_persistent(struct wpa_supplicant *wpa_s, char *cmd)
|
||||||
if (max_oper_chwidth < 0)
|
if (max_oper_chwidth < 0)
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
|
allow_6ghz = os_strstr(cmd, " allow_6ghz") != NULL;
|
||||||
|
|
||||||
return wpas_p2p_invite(wpa_s, _peer, ssid, NULL, freq, freq2, ht40, vht,
|
return wpas_p2p_invite(wpa_s, _peer, ssid, NULL, freq, freq2, ht40, vht,
|
||||||
max_oper_chwidth, pref_freq, he, edmg);
|
max_oper_chwidth, pref_freq, he, edmg,
|
||||||
|
allow_6ghz);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -6779,6 +6785,7 @@ static int p2p_ctrl_invite_group(struct wpa_supplicant *wpa_s, char *cmd)
|
||||||
{
|
{
|
||||||
char *pos;
|
char *pos;
|
||||||
u8 peer[ETH_ALEN], go_dev_addr[ETH_ALEN], *go_dev = NULL;
|
u8 peer[ETH_ALEN], go_dev_addr[ETH_ALEN], *go_dev = NULL;
|
||||||
|
bool allow_6ghz;
|
||||||
|
|
||||||
pos = os_strstr(cmd, " peer=");
|
pos = os_strstr(cmd, " peer=");
|
||||||
if (!pos)
|
if (!pos)
|
||||||
|
@ -6791,6 +6798,8 @@ static int p2p_ctrl_invite_group(struct wpa_supplicant *wpa_s, char *cmd)
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
allow_6ghz = os_strstr(pos, " allow_6ghz") != NULL;
|
||||||
|
|
||||||
pos = os_strstr(pos, " go_dev_addr=");
|
pos = os_strstr(pos, " go_dev_addr=");
|
||||||
if (pos) {
|
if (pos) {
|
||||||
pos += 13;
|
pos += 13;
|
||||||
|
@ -6802,7 +6811,7 @@ static int p2p_ctrl_invite_group(struct wpa_supplicant *wpa_s, char *cmd)
|
||||||
go_dev = go_dev_addr;
|
go_dev = go_dev_addr;
|
||||||
}
|
}
|
||||||
|
|
||||||
return wpas_p2p_invite_group(wpa_s, cmd, peer, go_dev);
|
return wpas_p2p_invite_group(wpa_s, cmd, peer, go_dev, allow_6ghz);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -6820,7 +6829,7 @@ static int p2p_ctrl_invite(struct wpa_supplicant *wpa_s, char *cmd)
|
||||||
static int p2p_ctrl_group_add_persistent(struct wpa_supplicant *wpa_s,
|
static int p2p_ctrl_group_add_persistent(struct wpa_supplicant *wpa_s,
|
||||||
int id, int freq, int vht_center_freq2,
|
int id, int freq, int vht_center_freq2,
|
||||||
int ht40, int vht, int vht_chwidth,
|
int ht40, int vht, int vht_chwidth,
|
||||||
int he, int edmg)
|
int he, int edmg, bool allow_6ghz)
|
||||||
{
|
{
|
||||||
struct wpa_ssid *ssid;
|
struct wpa_ssid *ssid;
|
||||||
|
|
||||||
|
@ -6835,13 +6844,14 @@ static int p2p_ctrl_group_add_persistent(struct wpa_supplicant *wpa_s,
|
||||||
return wpas_p2p_group_add_persistent(wpa_s, ssid, 0, freq,
|
return wpas_p2p_group_add_persistent(wpa_s, ssid, 0, freq,
|
||||||
vht_center_freq2, 0, ht40, vht,
|
vht_center_freq2, 0, ht40, vht,
|
||||||
vht_chwidth, he, edmg,
|
vht_chwidth, he, edmg,
|
||||||
NULL, 0, 0);
|
NULL, 0, 0, allow_6ghz);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static int p2p_ctrl_group_add(struct wpa_supplicant *wpa_s, char *cmd)
|
static int p2p_ctrl_group_add(struct wpa_supplicant *wpa_s, char *cmd)
|
||||||
{
|
{
|
||||||
int freq = 0, persistent = 0, group_id = -1;
|
int freq = 0, persistent = 0, group_id = -1;
|
||||||
|
bool allow_6ghz = false;
|
||||||
int vht = wpa_s->conf->p2p_go_vht;
|
int vht = wpa_s->conf->p2p_go_vht;
|
||||||
int ht40 = wpa_s->conf->p2p_go_ht40 || vht;
|
int ht40 = wpa_s->conf->p2p_go_ht40 || vht;
|
||||||
int he = wpa_s->conf->p2p_go_he;
|
int he = wpa_s->conf->p2p_go_he;
|
||||||
|
@ -6874,6 +6884,8 @@ static int p2p_ctrl_group_add(struct wpa_supplicant *wpa_s, char *cmd)
|
||||||
edmg = 1;
|
edmg = 1;
|
||||||
} else if (os_strcmp(token, "persistent") == 0) {
|
} else if (os_strcmp(token, "persistent") == 0) {
|
||||||
persistent = 1;
|
persistent = 1;
|
||||||
|
} else if (os_strcmp(token, "allow_6ghz") == 0) {
|
||||||
|
allow_6ghz = true;
|
||||||
} else {
|
} else {
|
||||||
wpa_printf(MSG_DEBUG,
|
wpa_printf(MSG_DEBUG,
|
||||||
"CTRL: Invalid P2P_GROUP_ADD parameter: '%s'",
|
"CTRL: Invalid P2P_GROUP_ADD parameter: '%s'",
|
||||||
|
@ -6910,10 +6922,10 @@ static int p2p_ctrl_group_add(struct wpa_supplicant *wpa_s, char *cmd)
|
||||||
return p2p_ctrl_group_add_persistent(wpa_s, group_id,
|
return p2p_ctrl_group_add_persistent(wpa_s, group_id,
|
||||||
freq, freq2, ht40, vht,
|
freq, freq2, ht40, vht,
|
||||||
max_oper_chwidth, he,
|
max_oper_chwidth, he,
|
||||||
edmg);
|
edmg, allow_6ghz);
|
||||||
|
|
||||||
return wpas_p2p_group_add(wpa_s, persistent, freq, freq2, ht40, vht,
|
return wpas_p2p_group_add(wpa_s, persistent, freq, freq2, ht40, vht,
|
||||||
max_oper_chwidth, he, edmg);
|
max_oper_chwidth, he, edmg, allow_6ghz);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -425,14 +425,15 @@ DBusMessage * wpas_dbus_handler_p2p_group_add(DBusMessage *message,
|
||||||
goto inv_args;
|
goto inv_args;
|
||||||
|
|
||||||
if (wpas_p2p_group_add_persistent(wpa_s, ssid, 0, freq, 0, 0, 0,
|
if (wpas_p2p_group_add_persistent(wpa_s, ssid, 0, freq, 0, 0, 0,
|
||||||
0, 0, 0, 0, NULL, 0, 0)) {
|
0, 0, 0, 0, NULL, 0, 0,
|
||||||
|
false)) {
|
||||||
reply = wpas_dbus_error_unknown_error(
|
reply = wpas_dbus_error_unknown_error(
|
||||||
message,
|
message,
|
||||||
"Failed to reinvoke a persistent group");
|
"Failed to reinvoke a persistent group");
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
} else if (wpas_p2p_group_add(wpa_s, persistent_group, freq, 0, 0, 0,
|
} else if (wpas_p2p_group_add(wpa_s, persistent_group, freq, 0, 0, 0,
|
||||||
0, 0, 0))
|
0, 0, 0, false))
|
||||||
goto inv_args;
|
goto inv_args;
|
||||||
|
|
||||||
out:
|
out:
|
||||||
|
@ -653,7 +654,7 @@ DBusMessage * wpas_dbus_handler_p2p_connect(DBusMessage *message,
|
||||||
new_pin = wpas_p2p_connect(wpa_s, addr, pin, wps_method,
|
new_pin = wpas_p2p_connect(wpa_s, addr, pin, wps_method,
|
||||||
persistent_group, 0, join, authorize_only,
|
persistent_group, 0, join, authorize_only,
|
||||||
go_intent, freq, 0, -1, 0, 0, 0, 0, 0, 0,
|
go_intent, freq, 0, -1, 0, 0, 0, 0, 0, 0,
|
||||||
NULL, 0);
|
NULL, 0, false);
|
||||||
|
|
||||||
if (new_pin >= 0) {
|
if (new_pin >= 0) {
|
||||||
char npin[9];
|
char npin[9];
|
||||||
|
@ -810,7 +811,7 @@ DBusMessage * wpas_dbus_handler_p2p_invite(DBusMessage *message,
|
||||||
goto err;
|
goto err;
|
||||||
|
|
||||||
if (wpas_p2p_invite(wpa_s, peer_addr, ssid, NULL, 0, 0, 0, 0, 0,
|
if (wpas_p2p_invite(wpa_s, peer_addr, ssid, NULL, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0) < 0) {
|
0, 0, 0, false) < 0) {
|
||||||
reply = wpas_dbus_error_unknown_error(
|
reply = wpas_dbus_error_unknown_error(
|
||||||
message,
|
message,
|
||||||
"Failed to reinvoke a persistent group");
|
"Failed to reinvoke a persistent group");
|
||||||
|
@ -821,7 +822,7 @@ DBusMessage * wpas_dbus_handler_p2p_invite(DBusMessage *message,
|
||||||
* No group ID means propose to a peer to join my active group
|
* No group ID means propose to a peer to join my active group
|
||||||
*/
|
*/
|
||||||
if (wpas_p2p_invite_group(wpa_s, wpa_s->ifname,
|
if (wpas_p2p_invite_group(wpa_s, wpa_s->ifname,
|
||||||
peer_addr, NULL)) {
|
peer_addr, NULL, false)) {
|
||||||
reply = wpas_dbus_error_unknown_error(
|
reply = wpas_dbus_error_unknown_error(
|
||||||
message, "Failed to join to an active group");
|
message, "Failed to join to an active group");
|
||||||
goto out;
|
goto out;
|
||||||
|
|
|
@ -3236,7 +3236,7 @@ static void wpas_invitation_received(void *ctx, const u8 *sa, const u8 *bssid,
|
||||||
wpa_s->conf->p2p_go_he,
|
wpa_s->conf->p2p_go_he,
|
||||||
wpa_s->conf->p2p_go_edmg, NULL,
|
wpa_s->conf->p2p_go_edmg, NULL,
|
||||||
go ? P2P_MAX_INITIAL_CONN_WAIT_GO_REINVOKE : 0,
|
go ? P2P_MAX_INITIAL_CONN_WAIT_GO_REINVOKE : 0,
|
||||||
1);
|
1, is_p2p_allow_6ghz(wpa_s->global->p2p));
|
||||||
} else if (bssid) {
|
} else if (bssid) {
|
||||||
wpa_s->user_initiated_pd = 0;
|
wpa_s->user_initiated_pd = 0;
|
||||||
wpa_msg_global(wpa_s, MSG_INFO,
|
wpa_msg_global(wpa_s, MSG_INFO,
|
||||||
|
@ -3465,7 +3465,8 @@ static void wpas_invitation_result(void *ctx, int status, const u8 *bssid,
|
||||||
channels,
|
channels,
|
||||||
ssid->mode == WPAS_MODE_P2P_GO ?
|
ssid->mode == WPAS_MODE_P2P_GO ?
|
||||||
P2P_MAX_INITIAL_CONN_WAIT_GO_REINVOKE :
|
P2P_MAX_INITIAL_CONN_WAIT_GO_REINVOKE :
|
||||||
0, 1);
|
0, 1,
|
||||||
|
is_p2p_allow_6ghz(wpa_s->global->p2p));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -4490,10 +4491,10 @@ static void wpas_p2ps_prov_complete(void *ctx, u8 status, const u8 *dev,
|
||||||
persistent_go->mode ==
|
persistent_go->mode ==
|
||||||
WPAS_MODE_P2P_GO ?
|
WPAS_MODE_P2P_GO ?
|
||||||
P2P_MAX_INITIAL_CONN_WAIT_GO_REINVOKE :
|
P2P_MAX_INITIAL_CONN_WAIT_GO_REINVOKE :
|
||||||
0, 0);
|
0, 0, false);
|
||||||
} else if (response_done) {
|
} else if (response_done) {
|
||||||
wpas_p2p_group_add(wpa_s, 1, freq,
|
wpas_p2p_group_add(wpa_s, 1, freq,
|
||||||
0, 0, 0, 0, 0, 0);
|
0, 0, 0, 0, 0, 0, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (passwd_id == DEV_PW_P2PS_DEFAULT) {
|
if (passwd_id == DEV_PW_P2PS_DEFAULT) {
|
||||||
|
@ -4612,9 +4613,11 @@ static int wpas_prov_disc_resp_cb(void *ctx)
|
||||||
wpa_s, persistent_go, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
wpa_s, persistent_go, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
NULL,
|
NULL,
|
||||||
persistent_go->mode == WPAS_MODE_P2P_GO ?
|
persistent_go->mode == WPAS_MODE_P2P_GO ?
|
||||||
P2P_MAX_INITIAL_CONN_WAIT_GO_REINVOKE : 0, 0);
|
P2P_MAX_INITIAL_CONN_WAIT_GO_REINVOKE : 0, 0,
|
||||||
|
is_p2p_allow_6ghz(wpa_s->global->p2p));
|
||||||
} else {
|
} else {
|
||||||
wpas_p2p_group_add(wpa_s, 1, freq, 0, 0, 0, 0, 0, 0);
|
wpas_p2p_group_add(wpa_s, 1, freq, 0, 0, 0, 0, 0, 0,
|
||||||
|
is_p2p_allow_6ghz(wpa_s->global->p2p));
|
||||||
}
|
}
|
||||||
|
|
||||||
return 1;
|
return 1;
|
||||||
|
@ -5222,7 +5225,8 @@ static void wpas_p2p_scan_res_join(struct wpa_supplicant *wpa_s,
|
||||||
wpa_s->p2p_go_max_oper_chwidth,
|
wpa_s->p2p_go_max_oper_chwidth,
|
||||||
wpa_s->p2p_go_he,
|
wpa_s->p2p_go_he,
|
||||||
wpa_s->p2p_go_edmg,
|
wpa_s->p2p_go_edmg,
|
||||||
NULL, 0);
|
NULL, 0,
|
||||||
|
is_p2p_allow_6ghz(wpa_s->global->p2p));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -5770,6 +5774,7 @@ exit_free:
|
||||||
* (CHANWIDTH_*).
|
* (CHANWIDTH_*).
|
||||||
* @group_ssid: Specific Group SSID for join or %NULL if not set
|
* @group_ssid: Specific Group SSID for join or %NULL if not set
|
||||||
* @group_ssid_len: Length of @group_ssid in octets
|
* @group_ssid_len: Length of @group_ssid in octets
|
||||||
|
* @allow_6ghz: Allow P2P connection on 6 GHz channels
|
||||||
* Returns: 0 or new PIN (if pin was %NULL) on success, -1 on unspecified
|
* Returns: 0 or new PIN (if pin was %NULL) on success, -1 on unspecified
|
||||||
* failure, -2 on failure due to channel not currently available,
|
* failure, -2 on failure due to channel not currently available,
|
||||||
* -3 if forced channel is not supported
|
* -3 if forced channel is not supported
|
||||||
|
@ -5780,7 +5785,8 @@ int wpas_p2p_connect(struct wpa_supplicant *wpa_s, const u8 *peer_addr,
|
||||||
int go_intent, int freq, unsigned int vht_center_freq2,
|
int go_intent, int freq, unsigned int vht_center_freq2,
|
||||||
int persistent_id, int pd, int ht40, int vht,
|
int persistent_id, int pd, int ht40, int vht,
|
||||||
unsigned int vht_chwidth, int he, int edmg,
|
unsigned int vht_chwidth, int he, int edmg,
|
||||||
const u8 *group_ssid, size_t group_ssid_len)
|
const u8 *group_ssid, size_t group_ssid_len,
|
||||||
|
bool allow_6ghz)
|
||||||
{
|
{
|
||||||
int force_freq = 0, pref_freq = 0;
|
int force_freq = 0, pref_freq = 0;
|
||||||
int ret = 0, res;
|
int ret = 0, res;
|
||||||
|
@ -6690,6 +6696,7 @@ wpas_p2p_get_group_iface(struct wpa_supplicant *wpa_s, int addr_allocated,
|
||||||
* @vht: Start GO with VHT support
|
* @vht: Start GO with VHT support
|
||||||
* @vht_chwidth: channel bandwidth for GO operating with VHT support
|
* @vht_chwidth: channel bandwidth for GO operating with VHT support
|
||||||
* @edmg: Start GO with EDMG support
|
* @edmg: Start GO with EDMG support
|
||||||
|
* @allow_6ghz: Allow P2P group creation on a 6 GHz channel
|
||||||
* Returns: 0 on success, -1 on failure
|
* Returns: 0 on success, -1 on failure
|
||||||
*
|
*
|
||||||
* This function creates a new P2P group with the local end as the Group Owner,
|
* This function creates a new P2P group with the local end as the Group Owner,
|
||||||
|
@ -6697,7 +6704,8 @@ wpas_p2p_get_group_iface(struct wpa_supplicant *wpa_s, int addr_allocated,
|
||||||
*/
|
*/
|
||||||
int wpas_p2p_group_add(struct wpa_supplicant *wpa_s, int persistent_group,
|
int wpas_p2p_group_add(struct wpa_supplicant *wpa_s, int persistent_group,
|
||||||
int freq, int vht_center_freq2, int ht40, int vht,
|
int freq, int vht_center_freq2, int ht40, int vht,
|
||||||
int max_oper_chwidth, int he, int edmg)
|
int max_oper_chwidth, int he, int edmg,
|
||||||
|
bool allow_6ghz)
|
||||||
{
|
{
|
||||||
struct p2p_go_neg_results params;
|
struct p2p_go_neg_results params;
|
||||||
|
|
||||||
|
@ -6801,7 +6809,8 @@ int wpas_p2p_group_add_persistent(struct wpa_supplicant *wpa_s,
|
||||||
int vht, int max_oper_chwidth, int he,
|
int vht, int max_oper_chwidth, int he,
|
||||||
int edmg,
|
int edmg,
|
||||||
const struct p2p_channels *channels,
|
const struct p2p_channels *channels,
|
||||||
int connection_timeout, int force_scan)
|
int connection_timeout, int force_scan,
|
||||||
|
bool allow_6ghz)
|
||||||
{
|
{
|
||||||
struct p2p_go_neg_results params;
|
struct p2p_go_neg_results params;
|
||||||
int go = 0, freq;
|
int go = 0, freq;
|
||||||
|
@ -7430,7 +7439,7 @@ int wpas_p2p_reject(struct wpa_supplicant *wpa_s, const u8 *addr)
|
||||||
int wpas_p2p_invite(struct wpa_supplicant *wpa_s, const u8 *peer_addr,
|
int wpas_p2p_invite(struct wpa_supplicant *wpa_s, const u8 *peer_addr,
|
||||||
struct wpa_ssid *ssid, const u8 *go_dev_addr, int freq,
|
struct wpa_ssid *ssid, const u8 *go_dev_addr, int freq,
|
||||||
int vht_center_freq2, int ht40, int vht, int max_chwidth,
|
int vht_center_freq2, int ht40, int vht, int max_chwidth,
|
||||||
int pref_freq, int he, int edmg)
|
int pref_freq, int he, int edmg, bool allow_6ghz)
|
||||||
{
|
{
|
||||||
enum p2p_invite_role role;
|
enum p2p_invite_role role;
|
||||||
u8 *bssid = NULL;
|
u8 *bssid = NULL;
|
||||||
|
@ -7513,7 +7522,8 @@ int wpas_p2p_invite(struct wpa_supplicant *wpa_s, const u8 *peer_addr,
|
||||||
|
|
||||||
/* Invite to join an active group */
|
/* Invite to join an active group */
|
||||||
int wpas_p2p_invite_group(struct wpa_supplicant *wpa_s, const char *ifname,
|
int wpas_p2p_invite_group(struct wpa_supplicant *wpa_s, const char *ifname,
|
||||||
const u8 *peer_addr, const u8 *go_dev_addr)
|
const u8 *peer_addr, const u8 *go_dev_addr,
|
||||||
|
bool allow_6ghz)
|
||||||
{
|
{
|
||||||
struct wpa_global *global = wpa_s->global;
|
struct wpa_global *global = wpa_s->global;
|
||||||
enum p2p_invite_role role;
|
enum p2p_invite_role role;
|
||||||
|
@ -8478,7 +8488,7 @@ static int wpas_p2p_fallback_to_go_neg(struct wpa_supplicant *wpa_s,
|
||||||
wpa_s->p2p_go_max_oper_chwidth,
|
wpa_s->p2p_go_max_oper_chwidth,
|
||||||
wpa_s->p2p_go_he,
|
wpa_s->p2p_go_he,
|
||||||
wpa_s->p2p_go_edmg,
|
wpa_s->p2p_go_edmg,
|
||||||
NULL, 0);
|
NULL, 0, is_p2p_allow_6ghz(wpa_s->global->p2p));
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -9016,7 +9026,7 @@ static int wpas_p2p_nfc_join_group(struct wpa_supplicant *wpa_s,
|
||||||
-1, 0, 1, 1, wpa_s->p2p_go_max_oper_chwidth,
|
-1, 0, 1, 1, wpa_s->p2p_go_max_oper_chwidth,
|
||||||
wpa_s->p2p_go_he, wpa_s->p2p_go_edmg,
|
wpa_s->p2p_go_he, wpa_s->p2p_go_edmg,
|
||||||
params->go_ssid_len ? params->go_ssid : NULL,
|
params->go_ssid_len ? params->go_ssid : NULL,
|
||||||
params->go_ssid_len);
|
params->go_ssid_len, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -9095,7 +9105,7 @@ static int wpas_p2p_nfc_init_go_neg(struct wpa_supplicant *wpa_s,
|
||||||
forced_freq, wpa_s->p2p_go_vht_center_freq2,
|
forced_freq, wpa_s->p2p_go_vht_center_freq2,
|
||||||
-1, 0, 1, 1, wpa_s->p2p_go_max_oper_chwidth,
|
-1, 0, 1, 1, wpa_s->p2p_go_max_oper_chwidth,
|
||||||
wpa_s->p2p_go_he, wpa_s->p2p_go_edmg,
|
wpa_s->p2p_go_he, wpa_s->p2p_go_edmg,
|
||||||
NULL, 0);
|
NULL, 0, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -9112,7 +9122,7 @@ static int wpas_p2p_nfc_resp_go_neg(struct wpa_supplicant *wpa_s,
|
||||||
forced_freq, wpa_s->p2p_go_vht_center_freq2,
|
forced_freq, wpa_s->p2p_go_vht_center_freq2,
|
||||||
-1, 0, 1, 1, wpa_s->p2p_go_max_oper_chwidth,
|
-1, 0, 1, 1, wpa_s->p2p_go_max_oper_chwidth,
|
||||||
wpa_s->p2p_go_he, wpa_s->p2p_go_edmg,
|
wpa_s->p2p_go_he, wpa_s->p2p_go_edmg,
|
||||||
NULL, 0);
|
NULL, 0, false);
|
||||||
if (res)
|
if (res)
|
||||||
return res;
|
return res;
|
||||||
|
|
||||||
|
|
|
@ -38,19 +38,21 @@ int wpas_p2p_connect(struct wpa_supplicant *wpa_s, const u8 *peer_addr,
|
||||||
int go_intent, int freq, unsigned int vht_center_freq2,
|
int go_intent, int freq, unsigned int vht_center_freq2,
|
||||||
int persistent_id, int pd, int ht40, int vht,
|
int persistent_id, int pd, int ht40, int vht,
|
||||||
unsigned int vht_chwidth, int he, int edmg,
|
unsigned int vht_chwidth, int he, int edmg,
|
||||||
const u8 *group_ssid, size_t group_ssid_len);
|
const u8 *group_ssid, size_t group_ssid_len,
|
||||||
|
bool allow_6ghz);
|
||||||
int wpas_p2p_handle_frequency_conflicts(struct wpa_supplicant *wpa_s,
|
int wpas_p2p_handle_frequency_conflicts(struct wpa_supplicant *wpa_s,
|
||||||
int freq, struct wpa_ssid *ssid);
|
int freq, struct wpa_ssid *ssid);
|
||||||
int wpas_p2p_group_add(struct wpa_supplicant *wpa_s, int persistent_group,
|
int wpas_p2p_group_add(struct wpa_supplicant *wpa_s, int persistent_group,
|
||||||
int freq, int vht_center_freq2, int ht40, int vht,
|
int freq, int vht_center_freq2, int ht40, int vht,
|
||||||
int max_oper_chwidth, int he, int edmg);
|
int max_oper_chwidth, int he, int edmg, bool allow_6ghz);
|
||||||
int wpas_p2p_group_add_persistent(struct wpa_supplicant *wpa_s,
|
int wpas_p2p_group_add_persistent(struct wpa_supplicant *wpa_s,
|
||||||
struct wpa_ssid *ssid, int addr_allocated,
|
struct wpa_ssid *ssid, int addr_allocated,
|
||||||
int force_freq, int neg_freq,
|
int force_freq, int neg_freq,
|
||||||
int vht_center_freq2, int ht40, int vht,
|
int vht_center_freq2, int ht40, int vht,
|
||||||
int max_oper_chwidth, int he, int edmg,
|
int max_oper_chwidth, int he, int edmg,
|
||||||
const struct p2p_channels *channels,
|
const struct p2p_channels *channels,
|
||||||
int connection_timeout, int force_scan);
|
int connection_timeout, int force_scan,
|
||||||
|
bool allow_6ghz);
|
||||||
struct p2p_group * wpas_p2p_group_init(struct wpa_supplicant *wpa_s,
|
struct p2p_group * wpas_p2p_group_init(struct wpa_supplicant *wpa_s,
|
||||||
struct wpa_ssid *ssid);
|
struct wpa_ssid *ssid);
|
||||||
enum wpas_p2p_prov_disc_use {
|
enum wpas_p2p_prov_disc_use {
|
||||||
|
@ -118,9 +120,10 @@ int wpas_p2p_reject(struct wpa_supplicant *wpa_s, const u8 *addr);
|
||||||
int wpas_p2p_invite(struct wpa_supplicant *wpa_s, const u8 *peer_addr,
|
int wpas_p2p_invite(struct wpa_supplicant *wpa_s, const u8 *peer_addr,
|
||||||
struct wpa_ssid *ssid, const u8 *go_dev_addr, int freq,
|
struct wpa_ssid *ssid, const u8 *go_dev_addr, int freq,
|
||||||
int vht_center_freq2, int ht40, int vht, int max_chwidth,
|
int vht_center_freq2, int ht40, int vht, int max_chwidth,
|
||||||
int pref_freq, int he, int edmg);
|
int pref_freq, int he, int edmg, bool allow_6ghz);
|
||||||
int wpas_p2p_invite_group(struct wpa_supplicant *wpa_s, const char *ifname,
|
int wpas_p2p_invite_group(struct wpa_supplicant *wpa_s, const char *ifname,
|
||||||
const u8 *peer_addr, const u8 *go_dev_addr);
|
const u8 *peer_addr, const u8 *go_dev_addr,
|
||||||
|
bool allow_6ghz);
|
||||||
int wpas_p2p_presence_req(struct wpa_supplicant *wpa_s, u32 duration1,
|
int wpas_p2p_presence_req(struct wpa_supplicant *wpa_s, u32 duration1,
|
||||||
u32 interval1, u32 duration2, u32 interval2);
|
u32 interval1, u32 duration2, u32 interval2);
|
||||||
int wpas_p2p_ext_listen(struct wpa_supplicant *wpa_s, unsigned int period,
|
int wpas_p2p_ext_listen(struct wpa_supplicant *wpa_s, unsigned int period,
|
||||||
|
|
Loading…
Reference in a new issue