瀏覽代碼

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 年之前
父節點
當前提交
28925b4c24
共有 3 個文件被更改,包括 5 次插入2 次删除
  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;