소스 검색

qcacld-3.0: Do not send PASN status if peer not found

PASN peer do not get deleted unless the peer is same
as roaming bss peer. Therefore, if peer is not found
during configuration of the ltf key seed, then either
the BSS peer is not yet created or the PASN peer got
deleted because of connection with that BSS.

Either way, PASN auth status need not be sent, therefore
return success if PASN peer is not found during ltf key
seed configuration.

Change-Id: Icb663dd32d3d109a4387dad2ea0c98faf23bebd7
CRs-Fixed: 3475648
Surya Prakash Sivaraj 1 년 전
부모
커밋
d6466e54c0
1개의 변경된 파일8개의 추가작업 그리고 1개의 파일을 삭제
  1. 8 1
      core/hdd/src/wlan_hdd_wifi_pos_pasn.c

+ 8 - 1
core/hdd/src/wlan_hdd_wifi_pos_pasn.c

@@ -336,6 +336,7 @@ wlan_hdd_cfg80211_send_set_ltf_keyseed_mlo_vdev(struct hdd_context *hdd_ctx,
 	struct wlan_objmgr_peer *peer;
 	uint16_t link, vdev_count = 0;
 	struct qdf_mac_addr peer_link_mac;
+	struct qdf_mac_addr original_mac;
 	struct wlan_objmgr_vdev *wlan_vdev_list[WLAN_UMAC_MLO_MAX_VDEVS] = {0};
 	QDF_STATUS status;
 
@@ -343,6 +344,7 @@ wlan_hdd_cfg80211_send_set_ltf_keyseed_mlo_vdev(struct hdd_context *hdd_ctx,
 		return QDF_STATUS_SUCCESS;
 
 	qdf_copy_macaddr(&peer_link_mac, &data->peer_mac_addr);
+	qdf_copy_macaddr(&original_mac, &data->peer_mac_addr);
 	mlo_sta_get_vdev_list(vdev, &vdev_count, wlan_vdev_list);
 
 	for (link = 0; link < vdev_count; link++) {
@@ -405,6 +407,7 @@ wlan_hdd_cfg80211_send_set_ltf_keyseed_mlo_vdev(struct hdd_context *hdd_ctx,
 
 		mlo_release_vdev_ref(link_vdev);
 	}
+	qdf_copy_macaddr(&data->peer_mac_addr, &original_mac);
 
 	return QDF_STATUS_SUCCESS;
 }
@@ -518,7 +521,11 @@ wlan_hdd_cfg80211_send_set_ltf_keyseed(struct wiphy *wiphy,
 					   WLAN_WIFI_POS_CORE_ID);
 	if (!peer) {
 		hdd_err_rl("PASN peer is not found");
-		ret = -EFAULT;
+		/*
+		 * Auth status need not be sent for the BSS PASN
+		 * peer. So, return if peer is not found
+		 */
+		ret = 0;
 		goto err;
 	}