Prechádzať zdrojové kódy

qcacld-3.0: Process rrm request with link address

Currently host start processing rrm request frame with
source mac address (pHdr->sa) present in frame. But in
case of MLO connection, pHdr->sa address is referred to
MLD address and if host sends response frame with MLD
address to FW, FW discard/drop it.

Fix is to make sure driver should use link address
(pe_session->bssId) to process rrm request
and use same address to send response frame to FW/AP.

Change-Id: Ibffcaf6ca1341f3e22c9cba09f09c99cdc4fd5cd
CRs-Fixed: 3598628
Abhinav Kumar 1 rok pred
rodič
commit
89fc60da82

+ 8 - 1
core/mac/src/pe/lim/lim_process_action_frame.c

@@ -1122,7 +1122,14 @@ __lim_process_radio_measure_request(struct mac_context *mac, uint8_t *pRxPacketI
 	}
 	/* Call rrm function to handle the request. */
 
-	rrm_process_radio_measurement_request(mac, pHdr->sa, frm,
+	pe_debug("vdev: %d Received rrm req from sa addr:"QDF_MAC_ADDR_FMT" bssId:"QDF_MAC_ADDR_FMT" session addr:"QDF_MAC_ADDR_FMT" session self addr:"QDF_MAC_ADDR_FMT"",
+		 pe_session->vdev_id,
+		 QDF_MAC_ADDR_REF(pHdr->sa),
+		 QDF_MAC_ADDR_REF(pHdr->bssId),
+		 QDF_MAC_ADDR_REF(pe_session->bssId),
+		 QDF_MAC_ADDR_REF(pe_session->self_mac_addr));
+
+	rrm_process_radio_measurement_request(mac, pe_session->bssId, frm,
 					      pe_session);
 err:
 	qdf_mem_free(frm);