From 184a47de65453b1bd28491cf3dc3577626fd39fe Mon Sep 17 00:00:00 2001 From: Vignesh Viswanathan Date: Fri, 2 Nov 2018 11:32:35 +0530 Subject: 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 --- core/mac/src/pe/lim/lim_send_management_frames.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) 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 = -- cgit v1.2.3