aboutsummaryrefslogtreecommitdiffstats
path: root/src/p2p
diff options
context:
space:
mode:
authorDmitry Shmidt <dimitrysh@google.com>2015-03-24 16:05:01 -0700
committerDmitry Shmidt <dimitrysh@google.com>2015-03-24 16:08:24 -0700
commitdda10c2afb8378747491ea5d329a1de635d6d58e (patch)
tree1e5eeab5c90f5d5cb32627778b161acced439483 /src/p2p
parentf73259cc00af557e36add405799b7f2326587c13 (diff)
downloadandroid_external_wpa_supplicant_8-dda10c2afb8378747491ea5d329a1de635d6d58e.tar.gz
android_external_wpa_supplicant_8-dda10c2afb8378747491ea5d329a1de635d6d58e.tar.bz2
android_external_wpa_supplicant_8-dda10c2afb8378747491ea5d329a1de635d6d58e.zip
Cumulative patch from commit c41d0840a1ae4d755c525b091a4bf9d740efdb5f
c41d084 nl80211: Allow driver-based roam to change ESS 6ba7eba Add OpenSSL 0.9.8zf patch for EAP-FAST support 1de0710 atheros: Clear WPS appie during deinit 857d942 Extend offloaded ACS QCA vendor command to support VHT 0fd52a6 Remove duplicated wpa_s->conf->interworking check ad44309 Add Extended Capabilities element to all Probe Request frames 9bd566a Delay AP selection if all networks are temporarily disabled 701f396 Don't optimize scan frequencies if selected network has changed e9d2805 P2PS: Extend p2p_service_del asp to support 'all' parameter 6dd51ec P2PS: Add P2PS advertisements on ALL_SERVICES ANQP query c40a891 P2PS: Delete ASP advertisements on wpas_p2p_service_flush 2dc422e P2PS: Update SD indicator value on ASP add/del/update 030a3e1 DFS: Fix range availability check 56ef992 DFS: Consider non-contiguous channels 6ceea4c Restart sched_scan on channel list change e7a296b Remove unused shared_freq driver op 58e115b Fix hlr_auc_gw build with OpenSSL 5f9c92f nl80211: Fix vendor command handling 55e8f0e Fix CONFIG_EAP_UNAUTH_TLS without CONFIG_EAP_TLS build 9772af6 Interworking: Prevent scan during ANQP fetch and Interworking select 2c50246 Add a AP mode event message for possible PSK/passphrase mismatch 6784168 Remove SChannel support Change-Id: I21078309f83821d4b685de77c517c0886b3366bd Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
Diffstat (limited to 'src/p2p')
-rw-r--r--src/p2p/p2p.c29
-rw-r--r--src/p2p/p2p.h1
2 files changed, 21 insertions, 9 deletions
diff --git a/src/p2p/p2p.c b/src/p2p/p2p.c
index 6adb3dc2..f584fae2 100644
--- a/src/p2p/p2p.c
+++ b/src/p2p/p2p.c
@@ -2730,6 +2730,25 @@ inserted:
}
+void p2p_service_flush_asp(struct p2p_data *p2p)
+{
+ struct p2ps_advertisement *adv, *prev;
+
+ if (!p2p)
+ return;
+
+ adv = p2p->p2ps_adv_list;
+ while (adv) {
+ prev = adv;
+ adv = adv->next;
+ os_free(prev);
+ }
+
+ p2p->p2ps_adv_list = NULL;
+ p2p_dbg(p2p, "All ASP advertisements flushed");
+}
+
+
int p2p_parse_dev_addr_in_p2p_ie(struct wpabuf *p2p_ie, u8 *dev_addr)
{
struct p2p_message msg;
@@ -2878,8 +2897,6 @@ struct p2p_data * p2p_init(const struct p2p_config *cfg)
void p2p_deinit(struct p2p_data *p2p)
{
- struct p2ps_advertisement *adv, *prev;
-
#ifdef CONFIG_WIFI_DISPLAY
wpabuf_free(p2p->wfd_ie_beacon);
wpabuf_free(p2p->wfd_ie_probe_req);
@@ -2913,13 +2930,7 @@ void p2p_deinit(struct p2p_data *p2p)
os_free(p2p->after_scan_tx);
p2p_remove_wps_vendor_extensions(p2p);
os_free(p2p->no_go_freq.range);
-
- adv = p2p->p2ps_adv_list;
- while (adv) {
- prev = adv;
- adv = adv->next;
- os_free(prev);
- }
+ p2p_service_flush_asp(p2p);
os_free(p2p);
}
diff --git a/src/p2p/p2p.h b/src/p2p/p2p.h
index 2402db6a..2e5c3dc7 100644
--- a/src/p2p/p2p.h
+++ b/src/p2p/p2p.h
@@ -2242,6 +2242,7 @@ int p2p_service_add_asp(struct p2p_data *p2p, int auto_accept, u32 adv_id,
const char *adv_str, u8 svc_state,
u16 config_methods, const char *svc_info);
int p2p_service_del_asp(struct p2p_data *p2p, u32 adv_id);
+void p2p_service_flush_asp(struct p2p_data *p2p);
struct p2ps_advertisement * p2p_get_p2ps_adv_list(struct p2p_data *p2p);
#endif /* P2P_H */