From f70120a83b18d3db3c53ba6fa3b8551a22a3c103 Mon Sep 17 00:00:00 2001 From: Manikandan Mohan Date: Fri, 28 Jun 2019 13:11:53 -0700 Subject: [PATCH] qcacld-3.0: Dont send beacon report on invalid measure duration When measurement duration is given as 0 in beacon report request driver should not send any beacon report in response and set refused bit in action frame. Add this condition to beacon report request processing. Change-Id: I280824565aa5cda765151acbb67ab0d6574853d7 CRs-fixed: 2481166 --- core/mac/src/pe/rrm/rrm_api.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/core/mac/src/pe/rrm/rrm_api.c b/core/mac/src/pe/rrm/rrm_api.c index 86a544e7a30e..8fb8ff0b2213 100644 --- a/core/mac/src/pe/rrm/rrm_api.c +++ b/core/mac/src/pe/rrm/rrm_api.c @@ -524,6 +524,13 @@ rrm_process_beacon_report_req(struct mac_context *mac, pe_info("maxDuration = %d sign = %d maxMeasduration = %d measDuration = %d", maxDuration, sign, maxMeasduration, measDuration); + if (measDuration == 0 && + pBeaconReq->measurement_request.Beacon.meas_mode != + eSIR_BEACON_TABLE) { + pe_err("Invalid measurement duration"); + return eRRM_REFUSED; + } + if (maxMeasduration < measDuration) { if (pBeaconReq->durationMandatory) { pe_err("Dropping the request: duration mandatory and maxduration > measduration");