diff options
author | Jouni Malinen <jouni@qca.qualcomm.com> | 2012-08-31 21:20:51 +0300 |
---|---|---|
committer | Dmitry Shmidt <dimitrysh@google.com> | 2012-09-09 14:04:13 -0700 |
commit | 31be0a4b946ecab910c0a9af3837dbccea5d204b (patch) | |
tree | ddae43793043af9a8820e30e21fdf3b3ac51d06b /wpa_supplicant/p2p_supplicant.c | |
parent | dee117d008719acfac082af3740349fc86629627 (diff) | |
download | external_wpa_supplicant_8-31be0a4b946ecab910c0a9af3837dbccea5d204b.zip external_wpa_supplicant_8-31be0a4b946ecab910c0a9af3837dbccea5d204b.tar.gz external_wpa_supplicant_8-31be0a4b946ecab910c0a9af3837dbccea5d204b.tar.bz2 |
P2P: Allow p2p_invite-persistent to specify channel for GO
The freq and ht40 parameters can now be used with the p2p_invite
command when reinvoking a persistent group as the GO.
Signed-hostap: Jouni Malinen <jouni@qca.qualcomm.com>
Diffstat (limited to 'wpa_supplicant/p2p_supplicant.c')
-rw-r--r-- | wpa_supplicant/p2p_supplicant.c | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/wpa_supplicant/p2p_supplicant.c b/wpa_supplicant/p2p_supplicant.c index 94a8658..c43469e 100644 --- a/wpa_supplicant/p2p_supplicant.c +++ b/wpa_supplicant/p2p_supplicant.c @@ -2374,7 +2374,9 @@ static void wpas_invitation_result(void *ctx, int status, const u8 *bssid) } wpas_p2p_group_add_persistent(wpa_s, ssid, - ssid->mode == WPAS_MODE_P2P_GO, 0, 0); + ssid->mode == WPAS_MODE_P2P_GO, + wpa_s->p2p_persistent_go_freq, + wpa_s->p2p_go_ht40); } @@ -4418,11 +4420,14 @@ int wpas_p2p_reject(struct wpa_supplicant *wpa_s, const u8 *addr) /* Invite to reinvoke a persistent group */ int wpas_p2p_invite(struct wpa_supplicant *wpa_s, const u8 *peer_addr, - struct wpa_ssid *ssid, const u8 *go_dev_addr) + struct wpa_ssid *ssid, const u8 *go_dev_addr, int freq, + int ht40) { enum p2p_invite_role role; u8 *bssid = NULL; + wpa_s->p2p_persistent_go_freq = freq; + wpa_s->p2p_go_ht40 = !!ht40; if (ssid->mode == WPAS_MODE_P2P_GO) { role = P2P_INVITE_ROLE_GO; if (peer_addr == NULL) { @@ -4456,7 +4461,7 @@ int wpas_p2p_invite(struct wpa_supplicant *wpa_s, const u8 *peer_addr, return -1; return p2p_invite(wpa_s->global->p2p, peer_addr, role, bssid, - ssid->ssid, ssid->ssid_len, 0, go_dev_addr, 1); + ssid->ssid, ssid->ssid_len, freq, go_dev_addr, 1); } @@ -4470,6 +4475,9 @@ int wpas_p2p_invite_group(struct wpa_supplicant *wpa_s, const char *ifname, struct wpa_ssid *ssid; int persistent; + wpa_s->p2p_persistent_go_freq = 0; + wpa_s->p2p_go_ht40 = 0; + for (wpa_s = global->ifaces; wpa_s; wpa_s = wpa_s->next) { if (os_strcmp(wpa_s->ifname, ifname) == 0) break; |