Merge "qcacld-3.0: Move stack allocations to heap" into wlan-cld3.driver.lnx.2.0
diff --git a/core/hdd/src/wlan_hdd_assoc.c b/core/hdd/src/wlan_hdd_assoc.c
index bbd2276..7a52148 100644
--- a/core/hdd/src/wlan_hdd_assoc.c
+++ b/core/hdd/src/wlan_hdd_assoc.c
@@ -2912,7 +2912,7 @@
struct hdd_context *hdd_ctx = WLAN_HDD_GET_CTX(adapter);
struct hdd_station_ctx *sta_ctx = WLAN_HDD_GET_STATION_CTX_PTR(adapter);
QDF_STATUS qdf_status = QDF_STATUS_E_FAILURE;
- uint8_t reqRsnIe[DOT11F_IE_RSN_MAX_LEN];
+ uint8_t *reqRsnIe;
uint32_t reqRsnLength = DOT11F_IE_RSN_MAX_LEN, ie_len;
int ft_carrier_on = false;
bool hddDisconInProgress = false;
@@ -3102,6 +3102,8 @@
QDF_TRACE_DEFAULT_PDEV_ID,
QDF_PROTO_TYPE_MGMT, QDF_PROTO_MGMT_ASSOC));
+ reqRsnIe = qdf_mem_malloc(sizeof(uint8_t) *
+ DOT11F_IE_RSN_MAX_LEN);
/*
* For reassoc, the station is already registered, all we need
* is to change the state of the STA in TL.
@@ -3115,7 +3117,9 @@
u8 *assoc_req = NULL;
unsigned int assoc_req_len = 0;
struct ieee80211_channel *chan;
- uint8_t rsp_rsn_ie[DOT11F_IE_RSN_MAX_LEN];
+ uint8_t *rsp_rsn_ie =
+ qdf_mem_malloc(sizeof(uint8_t) *
+ DOT11F_IE_RSN_MAX_LEN);
uint32_t rsp_rsn_lemgth = DOT11F_IE_RSN_MAX_LEN;
/* add bss_id to cfg80211 data base */
@@ -3143,6 +3147,8 @@
adapter->vdev_id,
eCSR_DISCONNECT_REASON_UNSPECIFIED);
}
+ qdf_mem_free(reqRsnIe);
+ qdf_mem_free(rsp_rsn_ie);
return QDF_STATUS_E_FAILURE;
}
@@ -3331,6 +3337,7 @@
* wpa supplicant expecting WPA/RSN IE in
* connect result.
*/
+
sme_roam_get_wpa_rsn_req_ie(mac_handle,
adapter->vdev_id,
&reqRsnLength,
@@ -3395,6 +3402,7 @@
WLAN_CONTROL_PATH);
}
+ qdf_mem_free(rsp_rsn_ie);
} else {
/*
* wpa supplicant expecting WPA/RSN IE in connect result
@@ -3465,6 +3473,7 @@
WLAN_WAKE_ALL_NETIF_QUEUE,
WLAN_CONTROL_PATH);
}
+ qdf_mem_free(reqRsnIe);
if (!QDF_IS_STATUS_SUCCESS(qdf_status)) {
hdd_err("STA register with TL failed status: %d [%08X]",