summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnjaneeDevi Kapparapu <akappa@codeaurora.org>2015-11-30 14:16:07 +0800
committerAnjaneedevi Kapparapu <akappa@codeaurora.org>2016-01-25 15:09:52 +0530
commit517ddbd445aab2dabf3a5f3ad07747ab61942c76 (patch)
tree65935d9d1cda6be44591ec31ce3ec07a0267859b
parent2af94056e3dfe422cb2cb53b1e0031349a70da77 (diff)
qcacld-2.0: Fix p2p group info missed in probe response
The p2p group info or p2p IE missed in probe response is because genie len is limited to 255 bytes. It will be fine if supplicant send down only p2p IE. But if supplicant send down WPS ie and p2p ie in same time, buffer is overflowed and p2p ie will not be added to frame. Change-Id: I8125bc186e6372f46cd1978fd82fe1b907cdaec4 CRs-Fixed: 959456
-rw-r--r--CORE/HDD/inc/wlan_hdd_main.h2
-rw-r--r--CORE/HDD/src/wlan_hdd_cfg80211.c13
2 files changed, 8 insertions, 7 deletions
diff --git a/CORE/HDD/inc/wlan_hdd_main.h b/CORE/HDD/inc/wlan_hdd_main.h
index cfaf68d384af..eaedb6dd1ab6 100644
--- a/CORE/HDD/inc/wlan_hdd_main.h
+++ b/CORE/HDD/inc/wlan_hdd_main.h
@@ -162,7 +162,7 @@
/** Mac Address string **/
#define MAC_ADDRESS_STR "%02x:%02x:%02x:%02x:%02x:%02x"
#define MAC_ADDRESS_STR_LEN 18 /* Including null terminator */
-#define MAX_GENIE_LEN 255
+#define MAX_GENIE_LEN 512
#define WLAN_CHIP_VERSION "WCNSS"
diff --git a/CORE/HDD/src/wlan_hdd_cfg80211.c b/CORE/HDD/src/wlan_hdd_cfg80211.c
index b0e019996f57..c526c92ac714 100644
--- a/CORE/HDD/src/wlan_hdd_cfg80211.c
+++ b/CORE/HDD/src/wlan_hdd_cfg80211.c
@@ -11293,7 +11293,8 @@ static void wlan_hdd_set_sapHwmode(hdd_adapter_t *pHostapdAdapter)
}
static int wlan_hdd_add_ie(hdd_adapter_t* pHostapdAdapter, v_U8_t *genie,
- v_U8_t *total_ielen, v_U8_t *oui, v_U8_t oui_size)
+ v_U16_t *total_ielen, v_U8_t *oui,
+ v_U8_t oui_size)
{
v_U16_t ielen = 0;
v_U8_t *pIe = NULL;
@@ -11320,7 +11321,7 @@ static int wlan_hdd_add_ie(hdd_adapter_t* pHostapdAdapter, v_U8_t *genie,
}
static void wlan_hdd_add_hostapd_conf_vsie(hdd_adapter_t* pHostapdAdapter,
- v_U8_t *genie, v_U8_t *total_ielen)
+ v_U8_t *genie, v_U16_t *total_ielen)
{
beacon_data_t *pBeacon = pHostapdAdapter->sessionCtx.ap.beacon;
int left = pBeacon->tail_len;
@@ -11381,7 +11382,7 @@ static void wlan_hdd_add_hostapd_conf_vsie(hdd_adapter_t* pHostapdAdapter,
}
static void wlan_hdd_add_extra_ie(hdd_adapter_t* pHostapdAdapter,
- v_U8_t *genie, v_U8_t *total_ielen,
+ v_U8_t *genie, v_U16_t *total_ielen,
v_U8_t temp_ie_id)
{
beacon_data_t *pBeacon = pHostapdAdapter->sessionCtx.ap.beacon;
@@ -11431,7 +11432,7 @@ static void wlan_hdd_add_extra_ie(hdd_adapter_t* pHostapdAdapter,
#ifdef QCA_HT_2040_COEX
static void wlan_hdd_add_sap_obss_scan_ie(
- hdd_adapter_t *pHostapdAdapter, v_U8_t *ie_buf, v_U8_t *ie_len)
+ hdd_adapter_t *pHostapdAdapter, v_U8_t *ie_buf, v_U16_t *ie_len)
{
if (WLAN_HDD_SOFTAP == pHostapdAdapter->device_mode) {
if (wlan_hdd_get_sap_obss(pHostapdAdapter))
@@ -11441,7 +11442,7 @@ static void wlan_hdd_add_sap_obss_scan_ie(
}
#else
static void wlan_hdd_add_sap_obss_scan_ie(
- hdd_adapter_t* pHostapdAdapter, v_U8_t *ie_buf, v_U8_t *ie_len)
+ hdd_adapter_t* pHostapdAdapter, v_U8_t *ie_buf, v_U16_t *ie_len)
{
}
#endif
@@ -11449,7 +11450,7 @@ static void wlan_hdd_add_sap_obss_scan_ie(
int wlan_hdd_cfg80211_update_apies(hdd_adapter_t* pHostapdAdapter)
{
v_U8_t *genie;
- v_U8_t total_ielen = 0;
+ v_U16_t total_ielen = 0;
int ret = 0;
tsap_Config_t *pConfig;
tSirUpdateIE updateIE;