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
commitf9fba92add0c39f864ed19cb71fcdac1d7e00636 (patch)
tree2a373ff6c435c229071787858af84ff8646bc0c4 /src/drivers
parentc59acadec010d57c71b2d32bdea4b52a05265c55 (diff)
downloadexternal_wpa_supplicant_8_ti-f9fba92add0c39f864ed19cb71fcdac1d7e00636.zip
external_wpa_supplicant_8_ti-f9fba92add0c39f864ed19cb71fcdac1d7e00636.tar.gz
external_wpa_supplicant_8_ti-f9fba92add0c39f864ed19cb71fcdac1d7e00636.tar.bz2
nl80211: Special send_mlme rules (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.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/drivers/driver_nl80211.c b/src/drivers/driver_nl80211.c
index ccf2d8b..5ab292b 100644
--- a/src/drivers/driver_nl80211.c
+++ b/src/drivers/driver_nl80211.c
@@ -5367,6 +5367,17 @@ static int wpa_driver_nl80211_send_mlme_freq(struct i802_bss *bss,
1);
}
+#ifdef ANDROID_BRCM_P2P_PATCH
+ if (is_ap_interface(drv->nlmode)) {
+ wpa_printf(MSG_DEBUG, "%s: Sending frame on bss freq %d "
+ "using nl80211_send_frame_cmd", __func__,
+ bss->freq);
+ return nl80211_send_frame_cmd(bss, bss->freq, 0,
+ data, data_len,
+ &drv->send_action_cookie, 0,
+ noack, 0);
+ }
+#else /* ANDROID_BRCM_P2P_PATCH */
if (drv->device_ap_sme && is_ap_interface(drv->nlmode)) {
if (freq == 0)
freq = bss->freq;
@@ -5377,6 +5388,7 @@ static int wpa_driver_nl80211_send_mlme_freq(struct i802_bss *bss,
&drv->send_action_cookie,
no_cck, noack, offchanok);
}
+#endif /* ANDROID_BRCM_P2P_PATCH */
if (WLAN_FC_GET_TYPE(fc) == WLAN_FC_TYPE_MGMT &&
WLAN_FC_GET_STYPE(fc) == WLAN_FC_STYPE_AUTH) {
@@ -5392,6 +5404,8 @@ static int wpa_driver_nl80211_send_mlme_freq(struct i802_bss *bss,
encrypt = 0;
}
+ wpa_printf(MSG_DEBUG, "%s: Sending frame using monitor interface/"
+ "l2 socket", __func__);
return wpa_driver_nl80211_send_frame(bss, data, data_len, encrypt,
noack, freq, no_cck, offchanok,
wait_time);