From a187e13aaa5b88eb817047bd2a6d26defe2ef6a9 Mon Sep 17 00:00:00 2001 From: tinlin Date: Tue, 18 Jun 2019 18:09:42 +0800 Subject: [PATCH] qcacld-3.0: Store rrm session bssid Processing beacon request may fail due to some reason. In Ie07dbb1f45803cf93b45df2173f0ad064a194cb3, sta fails to send empty beacon report to AP and frees current rrm beacon request structure because it doesn't find matched session by bssid in rrm_process_beacon_report_xmit. Copy bssid of beacon request to rrm session then sta can send empty beacon. Change-Id: I962d058d5e3f8f85194f4197c5ff8c061d56f60c CRs-Fixed: 2472377 --- core/sme/src/rrm/sme_rrm.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/core/sme/src/rrm/sme_rrm.c b/core/sme/src/rrm/sme_rrm.c index 438a8884cde3..14b112f12f97 100644 --- a/core/sme/src/rrm/sme_rrm.c +++ b/core/sme/src/rrm/sme_rrm.c @@ -1154,8 +1154,16 @@ QDF_STATUS sme_rrm_process_beacon_report_req_ind(struct mac_context *mac, return sme_rrm_issue_scan_req(mac); cleanup: - if (pBeaconReq->msgSource == eRRM_MSG_SOURCE_11K) + if (pBeaconReq->msgSource == eRRM_MSG_SOURCE_11K) { + /* Copy session bssid */ + qdf_mem_copy(pSmeRrmContext->sessionBssId.bytes, + pBeaconReq->bssId, sizeof(tSirMacAddr)); + + /* copy measurement bssid */ + qdf_mem_copy(pSmeRrmContext->bssId, pBeaconReq->macaddrBssid, + sizeof(tSirMacAddr)); sme_rrm_send_beacon_report_xmit_ind(mac, NULL, true, 0); + } return status; }