Răsfoiți Sursa

qcacld-3.0: LFR3.0: Fill Self MAC Address properly

The self MAC address should be filled from the previous
session in PE and has to be passed to WMA which is used
while creating the new PEER.

CRs-Fixed: 973463
Change-Id: If7f0d4d8400fd8dfcafb08e3795e434621b67a6d
Varun Reddy Yeturu 9 ani în urmă
părinte
comite
28925b4c24
3 a modificat fișierele cu 5 adăugiri și 2 ștergeri
  1. 1 0
      core/mac/inc/sir_api.h
  2. 2 0
      core/mac/src/pe/lim/lim_api.c
  3. 2 2
      core/wma/src/wma_scan_roam.c

+ 1 - 0
core/mac/inc/sir_api.h

@@ -3990,6 +3990,7 @@ typedef struct sSirSmeRoamOffloadSynchInd {
 	uint8_t isBeacon;
 	uint8_t roamedVdevId;
 	struct qdf_mac_addr bssid;
+	struct qdf_mac_addr self_mac;
 	int8_t txMgmtPower;
 	uint32_t authStatus;
 	uint8_t rssi;

+ 2 - 0
core/mac/src/pe/lim/lim_api.c

@@ -2035,6 +2035,8 @@ QDF_STATUS pe_roam_synch_callback(tpAniSirGlobal mac_ctx,
 	}
 	ft_session_ptr->peSessionId = session_id;
 	sir_copy_mac_addr(ft_session_ptr->selfMacAddr, session_ptr->selfMacAddr);
+	sir_copy_mac_addr(roam_sync_ind_ptr->self_mac.bytes,
+			session_ptr->selfMacAddr);
 	sir_copy_mac_addr(ft_session_ptr->limReAssocbssId, bss_desc->bssId);
 	ft_session_ptr->bssType = eSIR_INFRASTRUCTURE_MODE;
 	session_ptr->bRoamSynchInProgress = true;

+ 2 - 2
core/wma/src/wma_scan_roam.c

@@ -1967,8 +1967,8 @@ void wma_roam_update_vdev(tp_wma_handle wma,
 	qdf_mem_copy(del_bss_params->bssid, wma->interfaces[vdev_id].bssid,
 			IEEE80211_ADDR_LEN);
 	set_link_params->state = eSIR_LINK_PREASSOC_STATE;
-	qdf_mem_copy(set_link_params->selfMacAddr, wma->myaddr,
-			IEEE80211_ADDR_LEN);
+	qdf_mem_copy(set_link_params->selfMacAddr,
+		roam_synch_ind_ptr->self_mac.bytes, IEEE80211_ADDR_LEN);
 	qdf_mem_copy(set_link_params->bssid, roam_synch_ind_ptr->bssid.bytes,
 			IEEE80211_ADDR_LEN);
 	add_sta_params->staType = STA_ENTRY_SELF;