aboutsummaryrefslogtreecommitdiff
path: root/wpa_supplicant/wpa_supplicant.c
diff options
context:
space:
mode:
authorDmitry Shmidt <dimitrysh@google.com>2015-06-23 11:21:28 -0700
committerDmitry Shmidt <dimitrysh@google.com>2015-06-23 11:21:28 -0700
commita3dc30964aa24aea2b518246f6812663a1103490 (patch)
tree8ac6b6c44b68ed0823ebf7fafd9b1ca85589d05f /wpa_supplicant/wpa_supplicant.c
parent7a53dbb56693ee9f55c0cab1a8297436511e8613 (diff)
downloadwpa_supplicant_8-a3dc30964aa24aea2b518246f6812663a1103490.tar.gz
Cumulative patch from commit f43c1ae7989c38fe15756f12a9196a1cf798b4d7
f43c1ae P2P: Handle P2P Device dedicated interface parent removal 1ac977b nl8021: Allow sending wowlan configuration on any interface 4899702 nl80211: Remove android_genl_ctrl_resolve() 38dcc86 P2P: Consider ht/vht on P2P_GROUP_ADD command (with no params) 29292d5 ctrl_iface: Make p2p_ctrl_group_add() more robust e4a80d8 P2P: Fix secondary channel selection for HT40 4e71758 dbus: Add RemoveClient method to remove a client from local GO f0a79c9 D-Bus: Fix wpas_dbus_register_peer() documentation 95d62a6 D-Bus: Add missing params in WPS function documentation 790429b D-Bus: Fix function documentation for wpas_dbus_signal_p2p_go_neg_resp() 92fe746 D-Bus: Add function documentation for wpas_dbus_signal_p2p_go_neg_req() e1dffa3 P2P: Fix PBC overlap detection de7b02f P2P: Use the P2P Device interface in wpas_p2p_fallback_to_go_neg() 6b5147a P2P: Fix memory leak in p2p_process_nfc_connection_handover() 33ba27d EAP-FAST peer: Stop immediately on key derivation failure 144b6a0 OpenSSL: Fix memory leak on an openssl_tls_prf() error path 50a9efe P2PS: Fix Probe Response frame building in error cases 509f269 P2PS: Fix org.wi-fi.wfds matching when building the response 5fa5f84 P2PS: Add more debug prints for service info building fdde3db P2PS: Remove unnecessary service hash filtering from p2p_reply_probe() f2e0eec P2PS: Do not ignore other hashes if org.wi-fi.wfds hash is included ebdc32f P2PS: Fix service hash matching for org.wi-fi.wfds 24533f7 P2PS: Fix p2p_find handling to allow "wildcard" with other hash values f33a31b P2PS: Verify service name length in P2P_FIND command 129b621 P2PS: Fix P2P_FIND seek parameter parsing 83e520e P2PS: Add a wildcard with other advertised service info c5d3cad P2PS: Re-factor p2p_buf_add_service_instance function 13f6f61 wpa_cli: Fix process termination in wpa_cli action mode case b4c0f58 Clear allocated debug message buffers explicitly 14fd033 Clear control interface command explicitly from stack d95c599 P2P: Fix group interface addition failure properly for concurrent case e12c400 P2PS: Refactor p2p_data::query_hash and p2p_data::query_count use 4839da4 P2P: Add vendor elements into Invitation Response frames 886f583 P2PS: Delete p2ps_svc_found from struct p2p_data 3f048aa P2PS: Add a function to free a PD context 8f52409 P2P: Prefer direct Probe Response frames over GO's client list 4e8817f P2P: Use more precise device timestamping for group clients 0799b3f P2P: Specify frequency when sending Probe Response frame 5d180a7 drivers: Add freq parameter to send_mlme() function 5143e7e P2P: Fix return value of p2p_reply_probe() and p2p_probe_req_rx() 07c1e98 P2PS: Enable Probe Request frame processing by P2P Client 734ddf6 P2P: Add rx_freq parameter to Probe Request frame handler e6012e8 P2P: Update target GO Device Address from BSS entry during join a9a4841 Remove duplicated country code from operating class lists 132dfbe Fix removal of tagged interface and bridge when multiple BSS share them e11776a Combine multiple function calls to a single statement b649c0a dbus: Add Reconnect command to D-Bus Interface f4a234a doc: Update D-Bus GONegotiationRequest Signal: add device_go_intent 0c9fb14 P2P: Add Operating class 125 for P2P supported channels Change-Id: I782c1403985248ff994f484282efa6519fd369e9 Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
Diffstat (limited to 'wpa_supplicant/wpa_supplicant.c')
-rw-r--r--wpa_supplicant/wpa_supplicant.c27
1 files changed, 26 insertions, 1 deletions
diff --git a/wpa_supplicant/wpa_supplicant.c b/wpa_supplicant/wpa_supplicant.c
index e833c3ac..8fba9382 100644
--- a/wpa_supplicant/wpa_supplicant.c
+++ b/wpa_supplicant/wpa_supplicant.c
@@ -728,6 +728,30 @@ void wpa_supplicant_set_state(struct wpa_supplicant *wpa_s,
wpa_s->normal_scans = 0;
}
+#ifdef CONFIG_P2P
+ /*
+ * P2PS client has to reply to Probe Request frames received on the
+ * group operating channel. Enable Probe Request frame reporting for
+ * P2P connected client in case p2p_cli_probe configuration property is
+ * set to 1.
+ */
+ if (wpa_s->conf->p2p_cli_probe && wpa_s->current_ssid &&
+ wpa_s->current_ssid->mode == WPAS_MODE_INFRA &&
+ wpa_s->current_ssid->p2p_group) {
+ if (state == WPA_COMPLETED && !wpa_s->p2p_cli_probe) {
+ wpa_dbg(wpa_s, MSG_DEBUG,
+ "P2P: Enable CLI Probe Request RX reporting");
+ wpa_s->p2p_cli_probe =
+ wpa_drv_probe_req_report(wpa_s, 1) >= 0;
+ } else if (state != WPA_COMPLETED && wpa_s->p2p_cli_probe) {
+ wpa_dbg(wpa_s, MSG_DEBUG,
+ "P2P: Disable CLI Probe Request RX reporting");
+ wpa_s->p2p_cli_probe = 0;
+ wpa_drv_probe_req_report(wpa_s, 0);
+ }
+ }
+#endif /* CONFIG_P2P */
+
if (state != WPA_SCANNING)
wpa_supplicant_notify_scanning(wpa_s, 0);
@@ -4427,7 +4451,8 @@ struct wpa_supplicant * wpa_supplicant_add_iface(struct wpa_global *global,
if (wpa_s->global->p2p == NULL &&
!wpa_s->global->p2p_disabled && !wpa_s->conf->p2p_disabled &&
(wpa_s->drv_flags & WPA_DRIVER_FLAGS_DEDICATED_P2P_DEVICE) &&
- wpas_p2p_add_p2pdev_interface(wpa_s, iface->conf_p2p_dev) < 0) {
+ wpas_p2p_add_p2pdev_interface(
+ wpa_s, wpa_s->global->params.conf_p2p_dev) < 0) {
wpa_printf(MSG_INFO,
"P2P: Failed to enable P2P Device interface");
/* Try to continue without. P2P will be disabled. */