Эх сурвалжийг харах

qcacld-3.0: Modify PCL based on SRD ini for P2P-GO

Currently the driver does not update the PCL
channel list based upon the SRD ini, and thus
adds the SRD channels in the PCL for p2p-go,
which can lead to p2p-go operation on a channel
not expected.

Fix is to remove the SRD channels from the PCL
channel list, if the SRD ini is set.

Change-Id: I8824fa38ef59976816a5e230982c551263da0c9c
CRs-Fixed: 2437795
gaurank kathpalia 6 жил өмнө
parent
commit
37e4ff877f

+ 12 - 5
components/cmn_services/policy_mgr/src/wlan_policy_mgr_pcl.c

@@ -463,10 +463,10 @@ static QDF_STATUS policy_mgr_modify_sap_pcl_based_on_nol(
 }
 
 static QDF_STATUS
-policy_mgr_modify_sap_pcl_based_on_srd(struct wlan_objmgr_psoc *psoc,
-				       uint8_t *pcl_list_org,
-				       uint8_t *weight_list_org,
-				       uint32_t *pcl_len_org)
+policy_mgr_modify_pcl_based_on_srd(struct wlan_objmgr_psoc *psoc,
+				   uint8_t *pcl_list_org,
+				   uint8_t *weight_list_org,
+				   uint32_t *pcl_len_org)
 {
 	uint32_t i, pcl_len = 0;
 	uint8_t pcl_list[QDF_MAX_NUM_CHAN];
@@ -550,7 +550,7 @@ static QDF_STATUS policy_mgr_pcl_modification_for_sap(
 		policy_mgr_debug("chan:%d weight:%d",
 				 pcl_channels[i], pcl_weight[i]);
 
-	status = policy_mgr_modify_sap_pcl_based_on_srd
+	status = policy_mgr_modify_pcl_based_on_srd
 			(psoc, pcl_channels, pcl_weight, len);
 	if (QDF_IS_STATUS_ERROR(status)) {
 		policy_mgr_err("failed to get srd modified pcl for SAP");
@@ -585,6 +585,13 @@ static QDF_STATUS policy_mgr_pcl_modification_for_p2p_go(
 		policy_mgr_err("failed to get modified pcl for GO");
 		return status;
 	}
+
+	status = policy_mgr_modify_pcl_based_on_srd
+			(psoc, pcl_channels, pcl_weight, len);
+	if (QDF_IS_STATUS_ERROR(status)) {
+		policy_mgr_err("failed to get srd modified pcl for P2P-GO");
+		return status;
+	}
 	policy_mgr_debug("modified pcl len:%d", *len);
 	for (i = 0; i < *len; i++)
 		policy_mgr_debug("chan:%d weight:%d",