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

Commit cd82d90c authored by Linux Build Service Account's avatar Linux Build Service Account
Browse files

Merge d5d57508 on remote branch

Change-Id: Ic4a9bf3a7ee6d84d69c74e94821967976eb4133a
parents 624ec38c d5d57508
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
/*
 * Copyright (c) 2018-2021 The Linux Foundation. All rights reserved.
 * Copyright (c) 2021 Qualcomm Innovation Center, Inc. All rights reserved.
 *
 * Permission to use, copy, modify, and/or distribute this software for
 * any purpose with or without fee is hereby granted, provided that the
@@ -1831,9 +1832,9 @@ static void mlme_init_scoring_cfg(struct wlan_objmgr_psoc *psoc,
	 * If configured weights are greater than max weight,
	 * fallback to default weights
	 */
	if (total_weight > BEST_CANDIDATE_MAX_WEIGHT) {
	if (total_weight > MAX_BSS_SCORE) {
		mlme_legacy_err("Total weight greater than %d, using default weights",
				BEST_CANDIDATE_MAX_WEIGHT);
				MAX_BSS_SCORE);
		scoring_cfg->weight_cfg.rssi_weightage = RSSI_WEIGHTAGE;
		scoring_cfg->weight_cfg.ht_caps_weightage =
						HT_CAPABILITY_WEIGHTAGE;
+40 −2
Original line number Diff line number Diff line
@@ -82,6 +82,8 @@ static QDF_STATUS p2p_scan_start(struct p2p_roc_context *roc_ctx)
	struct wlan_objmgr_vdev *vdev;
	struct p2p_soc_priv_obj *p2p_soc_obj = roc_ctx->p2p_soc_obj;
	uint32_t go_num;
	uint8_t ndp_num = 0, nan_disc_enabled_num = 0;
	bool is_dbs;

	vdev = wlan_objmgr_get_vdev_by_id_from_psoc(
			p2p_soc_obj->soc, roc_ctx->vdev_id,
@@ -122,7 +124,17 @@ static QDF_STATUS p2p_scan_start(struct p2p_roc_context *roc_ctx)
	if (req->scan_req.dwell_time_passive < P2P_MAX_ROC_DURATION) {
		go_num = policy_mgr_mode_specific_connection_count(
				p2p_soc_obj->soc, PM_P2P_GO_MODE, NULL);
		p2p_debug("present go number:%d", go_num);
		policy_mgr_mode_specific_num_active_sessions(p2p_soc_obj->soc,
							QDF_NDI_MODE,
							&ndp_num);
		policy_mgr_mode_specific_num_active_sessions(p2p_soc_obj->soc,
							QDF_NAN_DISC_MODE,
							&nan_disc_enabled_num);
		p2p_debug("present go number:%d, NDP number:%d, NAN number:%d",
			go_num, ndp_num, nan_disc_enabled_num);

		is_dbs = policy_mgr_is_hw_dbs_capable(p2p_soc_obj->soc);

		if (go_num)
			req->scan_req.dwell_time_passive *=
					P2P_ROC_DURATION_MULTI_GO_PRESENT;
@@ -132,9 +144,35 @@ static QDF_STATUS p2p_scan_start(struct p2p_roc_context *roc_ctx)
		/* this is to protect too huge value if some customers
		 * give a higher value from supplicant
		 */
		if (req->scan_req.dwell_time_passive > P2P_MAX_ROC_DURATION)

		if (go_num && req->scan_req.dwell_time_passive >
			P2P_MAX_ROC_DURATION_GO_PRESENT) {
				req->scan_req.dwell_time_passive =
					P2P_MAX_ROC_DURATION_GO_PRESENT;
		} else if (ndp_num) {
			if (is_dbs && req->scan_req.dwell_time_passive >
				P2P_MAX_ROC_DURATION_DBS_NDP_PRESENT)
					req->scan_req.dwell_time_passive =
						P2P_MAX_ROC_DURATION_DBS_NDP_PRESENT;
			else if (!is_dbs && req->scan_req.dwell_time_passive >
				P2P_MAX_ROC_DURATION_NON_DBS_NDP_PRESENT)
				req->scan_req.dwell_time_passive =
					P2P_MAX_ROC_DURATION_NON_DBS_NDP_PRESENT;
		} else if (nan_disc_enabled_num) {
			if (is_dbs && req->scan_req.dwell_time_passive >
				 P2P_MAX_ROC_DURATION_DBS_NAN_PRESENT)
					req->scan_req.dwell_time_passive =
					P2P_MAX_ROC_DURATION_DBS_NAN_PRESENT;
			else if (!is_dbs && req->scan_req.dwell_time_passive >
				P2P_MAX_ROC_DURATION_NON_DBS_NAN_PRESENT)
					req->scan_req.dwell_time_passive =
						P2P_MAX_ROC_DURATION_NON_DBS_NAN_PRESENT;

		else if (req->scan_req.dwell_time_passive >
			P2P_MAX_ROC_DURATION)
			req->scan_req.dwell_time_passive = P2P_MAX_ROC_DURATION;
		}
	}
	p2p_debug("FW requested roc duration is:%d",
		  req->scan_req.dwell_time_passive);

+5 −0
Original line number Diff line number Diff line
@@ -31,6 +31,11 @@
#define P2P_WAIT_CANCEL_ROC      1000
#define P2P_WAIT_CLEANUP_ROC     2000
#define P2P_MAX_ROC_DURATION     1500
#define P2P_MAX_ROC_DURATION_GO_PRESENT           600
#define P2P_MAX_ROC_DURATION_DBS_NDP_PRESENT      400
#define P2P_MAX_ROC_DURATION_NON_DBS_NDP_PRESENT  250
#define P2P_MAX_ROC_DURATION_DBS_NAN_PRESENT      450
#define P2P_MAX_ROC_DURATION_NON_DBS_NAN_PRESENT  300

#define P2P_ROC_DURATION_MULTI_GO_PRESENT   6
#define P2P_ROC_DURATION_MULTI_GO_ABSENT    10
+1 −1
Original line number Diff line number Diff line
@@ -8045,7 +8045,7 @@ static int hdd_config_latency_level(struct hdd_adapter *adapter,
	QDF_STATUS status;
	if (!hdd_is_wlm_latency_manager_supported(hdd_ctx))
		return -EINVAL;
		return -ENOTSUPP;
	latency_level = nla_get_u16(attr);
	switch (latency_level) {
+3 −2
Original line number Diff line number Diff line
@@ -5740,7 +5740,7 @@ int wlan_hdd_cfg80211_start_bss(struct hdd_adapter *adapter,
		goto error;
	}

	qdf_status = qdf_wait_for_event_completion(&hostapd_state->qdf_event,
	qdf_status = qdf_wait_single_event(&hostapd_state->qdf_event,
					SME_CMD_START_BSS_TIMEOUT);

	wlansap_reset_sap_config_add_ie(config, eUPDATE_IE_ALL);
@@ -5753,6 +5753,7 @@ int wlan_hdd_cfg80211_start_bss(struct hdd_adapter *adapter,
		hdd_set_connection_in_progress(false);
		sme_get_command_q_status(mac_handle);
		wlansap_stop_bss(WLAN_HDD_GET_SAP_CTX_PTR(adapter));
		if (!cds_is_driver_recovering())
			QDF_ASSERT(0);
		ret = -EINVAL;
		goto error;
Loading