summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/mac/src/pe/rrm/rrm_api.c16
1 files changed, 9 insertions, 7 deletions
diff --git a/core/mac/src/pe/rrm/rrm_api.c b/core/mac/src/pe/rrm/rrm_api.c
index 26c208178517..c1f12286d3c8 100644
--- a/core/mac/src/pe/rrm/rrm_api.c
+++ b/core/mac/src/pe/rrm/rrm_api.c
@@ -963,7 +963,7 @@ static void rrm_process_beacon_request_failure(tpAniSirGlobal pMac,
* @peer: Macaddress of the peer requesting the radio measurement
* @session_entry: session entry
* @curr_req: Pointer to RRM request
- * @report: Pointer to radio measurement report
+ * @radiomes_report: Pointer to radio measurement report
* @rrm_req: Array of Measurement request IEs
* @num_report: No.of reports
* @index: Index for Measurement request
@@ -976,27 +976,29 @@ static void rrm_process_beacon_request_failure(tpAniSirGlobal pMac,
static
tSirRetStatus rrm_process_beacon_req(tpAniSirGlobal mac_ctx, tSirMacAddr peer,
tpPESession session_entry, tpRRMReq curr_req,
- tpSirMacRadioMeasureReport report,
+ tpSirMacRadioMeasureReport *radiomes_report,
tDot11fRadioMeasurementRequest *rrm_req,
uint8_t *num_report, int index)
{
tRrmRetStatus rrm_status = eRRM_SUCCESS;
+ tpSirMacRadioMeasureReport report;
if (curr_req) {
- if (report == NULL) {
+ if (*radiomes_report == NULL) {
/*
* Allocate memory to send reports for
* any subsequent requests.
*/
- report = qdf_mem_malloc(sizeof(*report) *
+ *radiomes_report = qdf_mem_malloc(sizeof(*report) *
(rrm_req->num_MeasurementRequest - index));
- if (NULL == report) {
+ if (NULL == *radiomes_report) {
pe_err("Unable to allocate memory during RRM Req processing");
return eSIR_MEM_ALLOC_FAILED;
}
pe_debug("rrm beacon type refused of %d report in beacon table",
*num_report);
}
+ report = *radiomes_report;
report[*num_report].refused = 1;
report[*num_report].type = SIR_MAC_RRM_BEACON_TYPE;
report[*num_report].token =
@@ -1007,7 +1009,7 @@ tSirRetStatus rrm_process_beacon_req(tpAniSirGlobal mac_ctx, tSirMacAddr peer,
curr_req = qdf_mem_malloc(sizeof(*curr_req));
if (NULL == curr_req) {
pe_err("Unable to allocate memory during RRM Req processing");
- qdf_mem_free(report);
+ qdf_mem_free(*radiomes_report);
return eSIR_MEM_ALLOC_FAILED;
}
pe_debug("Processing Beacon Report request");
@@ -1131,7 +1133,7 @@ rrm_process_radio_measurement_request(tpAniSirGlobal mac_ctx,
case SIR_MAC_RRM_BEACON_TYPE:
/* Process beacon request. */
status = rrm_process_beacon_req(mac_ctx, peer,
- session_entry, curr_req, report, rrm_req,
+ session_entry, curr_req, &report, rrm_req,
&num_report, i);
if (eSIR_SUCCESS != status)
return status;