summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVignesh Viswanathan <viswanat@codeaurora.org>2018-11-02 11:32:35 +0530
committernshrivas <nshrivas@codeaurora.org>2018-11-22 05:12:44 -0800
commit184a47de65453b1bd28491cf3dc3577626fd39fe (patch)
treef7ddf49fc1e839703bd717f00b18320107733971
parent625e74e1079b9aa6dd6a9038841ce60a3039f744 (diff)
qcacld-3.0: Set last beacon report indication for last report in last frame
Currently all the reports in the last beacon report frame has the last beacon report indication field set to 1. Set the last beacon report indication field to 1 only for the last report in the last frame. Change-Id: I7c824fc2ba0d26eae906c53b7ebd7c6111fc2379 CRs-Fixed: 2343956
-rw-r--r--core/mac/src/pe/lim/lim_send_management_frames.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/core/mac/src/pe/lim/lim_send_management_frames.c b/core/mac/src/pe/lim/lim_send_management_frames.c
index 953249221c5b..392dc1d9dddf 100644
--- a/core/mac/src/pe/lim/lim_send_management_frames.c
+++ b/core/mac/src/pe/lim/lim_send_management_frames.c
@@ -4197,6 +4197,7 @@ lim_send_radio_measure_report_action_frame(tpAniSirGlobal pMac,
uint8_t i;
uint8_t txFlag = 0;
uint8_t smeSessionId = 0;
+ bool is_last_report = false;
tDot11fRadioMeasurementReport *frm =
qdf_mem_malloc(sizeof(tDot11fRadioMeasurementReport));
@@ -4231,11 +4232,19 @@ lim_send_radio_measure_report_action_frame(tpAniSirGlobal pMac,
frm->MeasurementReport[i].late = 0; /* IEEE 802.11k section 7.3.22. (always zero in rrm) */
switch (pRRMReport[i].type) {
case SIR_MAC_RRM_BEACON_TYPE:
+ /*
+ * Last beacon report indication needs to be set to 1
+ * only for the last report in the last frame
+ */
+ if (is_last_frame &&
+ (i == (frm->num_MeasurementReport - 1)))
+ is_last_report = true;
+
populate_dot11f_beacon_report(pMac,
&frm->MeasurementReport[i],
&pRRMReport[i].report.
beaconReport,
- is_last_frame);
+ is_last_report);
frm->MeasurementReport[i].incapable =
pRRMReport[i].incapable;
frm->MeasurementReport[i].refused =