Browse Source

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
tinlin 5 years ago
parent
commit
a187e13aaa
1 changed files with 9 additions and 1 deletions
  1. 9 1
      core/sme/src/rrm/sme_rrm.c

+ 9 - 1
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;
 }