aboutsummaryrefslogtreecommitdiffstats
path: root/src/drivers
diff options
context:
space:
mode:
authorDmitry Shmidt <dimitrysh@google.com>2011-09-27 12:29:26 -0700
committerArik Nemtsov <arik@wizery.com>2012-08-02 13:03:59 +0300
commitc59acadec010d57c71b2d32bdea4b52a05265c55 (patch)
tree9a0e7a1579fb932c9313e621b5c937821f4f0bb6 /src/drivers
parent7b677953285ac02bab8ca9f8caf4a9d6555c0195 (diff)
downloadexternal_wpa_supplicant_8_ti-c59acadec010d57c71b2d32bdea4b52a05265c55.zip
external_wpa_supplicant_8_ti-c59acadec010d57c71b2d32bdea4b52a05265c55.tar.gz
external_wpa_supplicant_8_ti-c59acadec010d57c71b2d32bdea4b52a05265c55.tar.bz2
nl80211: Add MLME events (BRCM)
Fix WFD and WPS certification problem for GO (BRCM) Change-Id: I5bbac818aad7c0a14fddb3beb88a6a2d87c07ea0 Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
Diffstat (limited to 'src/drivers')
-rw-r--r--src/drivers/driver_nl80211.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/drivers/driver_nl80211.c b/src/drivers/driver_nl80211.c
index 26a9466..ccf2d8b 100644
--- a/src/drivers/driver_nl80211.c
+++ b/src/drivers/driver_nl80211.c
@@ -309,6 +309,11 @@ static int android_pno_start(struct i802_bss *bss,
struct wpa_driver_scan_params *params);
static int android_pno_stop(struct i802_bss *bss);
#endif /* ANDROID */
+#ifdef ANDROID_BRCM_P2P_PATCH
+static void mlme_event_deauth_disassoc(struct wpa_driver_nl80211_data *drv,
+ enum wpa_event_type type,
+ const u8 *frame, size_t len);
+#endif /* ANDROID_BRCM_P2P_PATCH */
#ifdef HOSTAPD
static void add_ifidx(struct wpa_driver_nl80211_data *drv, int ifidx);
@@ -1310,6 +1315,14 @@ static void mlme_event_mgmt(struct wpa_driver_nl80211_data *drv,
event.rx_action.data = &mgmt->u.action.category + 1;
event.rx_action.len = frame + len - event.rx_action.data;
wpa_supplicant_event(drv->ctx, EVENT_RX_ACTION, &event);
+#ifdef ANDROID_BRCM_P2P_PATCH
+ } else if (stype == WLAN_FC_STYPE_ASSOC_REQ) {
+ mlme_event_assoc(drv, frame, len);
+ } else if (stype == WLAN_FC_STYPE_DISASSOC) {
+ mlme_event_deauth_disassoc(drv, EVENT_DISASSOC, frame, len);
+ } else if (stype == WLAN_FC_STYPE_DEAUTH) {
+ mlme_event_deauth_disassoc(drv, EVENT_DEAUTH, frame, len);
+#endif /* ANDROID_BRCM_P2P_PATCH */
} else {
event.rx_mgmt.frame = frame;
event.rx_mgmt.frame_len = len;