diff options
author | Dmitry Shmidt <dimitrysh@google.com> | 2011-09-28 18:10:36 -0700 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2011-09-28 18:10:36 -0700 |
commit | b98d1c2746bf93497d587d12b2657cb9b8c5c76c (patch) | |
tree | 27d556c72aa6900ba5c0212110a09824eb82c647 /src | |
parent | 2b7fea278e437f1fe13970a1e65ca51149223d96 (diff) | |
parent | fc41cadcff448cdd2b60e376fc6e7378e2e57b5e (diff) | |
download | external_wpa_supplicant_8-b98d1c2746bf93497d587d12b2657cb9b8c5c76c.zip external_wpa_supplicant_8-b98d1c2746bf93497d587d12b2657cb9b8c5c76c.tar.gz external_wpa_supplicant_8-b98d1c2746bf93497d587d12b2657cb9b8c5c76c.tar.bz2 |
am fc41cadc: nl80211: Add get_noa() support for WFD certification (BRCM)
* commit 'fc41cadcff448cdd2b60e376fc6e7378e2e57b5e':
nl80211: Add get_noa() support for WFD certification (BRCM)
Diffstat (limited to 'src')
-rw-r--r-- | src/drivers/driver_nl80211.c | 2 | ||||
-rw-r--r-- | src/p2p/p2p_group.c | 8 | ||||
-rw-r--r-- | src/p2p/p2p_i.h | 5 |
3 files changed, 13 insertions, 2 deletions
diff --git a/src/drivers/driver_nl80211.c b/src/drivers/driver_nl80211.c index dfca9ef..9dc2494 100644 --- a/src/drivers/driver_nl80211.c +++ b/src/drivers/driver_nl80211.c @@ -209,6 +209,7 @@ static int wpa_driver_nl80211_probe_req_report(void *priv, int report); static void mlme_event_deauth_disassoc(struct wpa_driver_nl80211_data *drv, enum wpa_event_type type, const u8 *frame, size_t len); +int wpa_driver_get_p2p_noa(void *priv, u8 *buf, size_t len); int wpa_driver_set_p2p_noa(void *priv, u8 count, int start, int duration); int wpa_driver_set_p2p_ps(void *priv, int legacy_ps, int opp_ps, int ctwindow); int wpa_driver_set_ap_wps_p2p_ie(void *priv, const struct wpabuf *beacon, @@ -6837,6 +6838,7 @@ const struct wpa_driver_ops wpa_driver_nl80211_ops = { .remove_pmkid = nl80211_remove_pmkid, .flush_pmkid = nl80211_flush_pmkid, #ifdef ANDROID_BRCM_P2P_PATCH + .get_noa = wpa_driver_get_p2p_noa, .set_noa = wpa_driver_set_p2p_noa, .set_p2p_powersave = wpa_driver_set_p2p_ps, .set_ap_wps_ie = wpa_driver_set_ap_wps_p2p_ie, diff --git a/src/p2p/p2p_group.c b/src/p2p/p2p_group.c index 9fb9f00..0d05319 100644 --- a/src/p2p/p2p_group.c +++ b/src/p2p/p2p_group.c @@ -499,7 +499,11 @@ int p2p_group_notif_noa(struct p2p_group *group, const u8 *noa, } else { if (group->noa) { if (wpabuf_size(group->noa) >= noa_len) { + #ifdef ANDROID_BRCM_P2P_PATCH + group->noa->used = 0; + #else group->noa->size = 0; + #endif wpabuf_put_data(group->noa, noa, noa_len); } else { wpabuf_free(group->noa); @@ -658,11 +662,11 @@ u8 p2p_group_presence_req(struct p2p_group *group, else wpa_hexdump(MSG_DEBUG, "P2P: Current NoA", curr_noa, curr_noa_len); - +#ifndef ANDROID_BRCM_P2P_PATCH /* TODO: properly process request and store copy */ if (curr_noa_len > 0) return P2P_SC_FAIL_UNABLE_TO_ACCOMMODATE; - +#endif return P2P_SC_SUCCESS; } diff --git a/src/p2p/p2p_i.h b/src/p2p/p2p_i.h index 52d9311..afb891e 100644 --- a/src/p2p/p2p_i.h +++ b/src/p2p/p2p_i.h @@ -532,6 +532,11 @@ struct p2p_noa_desc { /* p2p_group.c */ const u8 * p2p_group_get_interface_addr(struct p2p_group *group); + +#ifdef ANDROID_BRCM_P2P_PATCH +void p2p_get_group_noa(struct p2p_group *group, u8 *noa, size_t* noa_len); +#endif + u8 p2p_group_presence_req(struct p2p_group *group, const u8 *client_interface_addr, const u8 *noa, size_t noa_len); |