Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 99681800 authored by sheenam monga's avatar sheenam monga Committed by Gerrit - the friendly Code Review server
Browse files

qcacld-3.0: change weighed_valid_list to 0 for non-pcl entries

In function wlan_hdd_populate_weigh_pcl weight is populated
to 0 only if weighed_valid_list is 0 otherwise weight of
non-pcl entries will be populated as 20 less than weight
of last pcl entry but weighed_valid_list is set to 1 in
policy_mgr_get_valid_chan_weights. So, non-pcl entries
are also sent to upper layer.

Fix is to change weighed_valid_list to 0,
if there is existing p2p connection.

Change-Id: Ic0d86021c00fd95e5bc20eeabea56e2a69658599
CRs-Fixed: 3140467
parent a940093b
Loading
Loading
Loading
Loading
+16 −4
Original line number Diff line number Diff line
@@ -2695,7 +2695,7 @@ QDF_STATUS policy_mgr_get_valid_chan_weights(struct wlan_objmgr_psoc *psoc,
	if ((mode == PM_P2P_GO_MODE || mode == PM_P2P_CLIENT_MODE) ||
	    (mode == PM_STA_MODE &&
	     policy_mgr_mode_specific_connection_count(psoc, PM_STA_MODE,
						       NULL) > 0)) {
						       NULL))) {
		/*
		 * Store the STA mode's parameter and temporarily delete it
		 * from the concurrency table. This way the allow concurrency
@@ -2714,11 +2714,23 @@ QDF_STATUS policy_mgr_get_valid_chan_weights(struct wlan_objmgr_psoc *psoc,
		for (i = 0; i < weight->saved_num_chan; i++) {
			if (policy_mgr_is_concurrency_allowed
				(psoc, mode, weight->saved_chan_list[i],
				HW_MODE_20_MHZ)) {
				HW_MODE_20_MHZ) &&
			     (policy_mgr_mode_specific_connection_count
			      (psoc, PM_P2P_GO_MODE, NULL) ||
			      policy_mgr_mode_specific_connection_count
			      (psoc, PM_P2P_CLIENT_MODE, NULL)) &&
			      policy_mgr_go_scc_enforced(psoc))
		/*
		 * For two port/three port connection where if one p2p
		 * connection is already present and force scc is enabled
		 * then enforce Go negotiation channels to be strictly
		 * based on PCL list.
		 */
				weight->weighed_valid_list[i] = 0;
			else
				weight->weighed_valid_list[i] =
						WEIGHT_OF_NON_PCL_CHANNELS;
		}
		}
		/* Restore the connection info */
		if (mode == PM_STA_MODE)
			policy_mgr_restore_deleted_conn_info(psoc, info,