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

Commit 89a6797c authored by CNSS_WLAN Service's avatar CNSS_WLAN Service Committed by Gerrit - the friendly Code Review server
Browse files

Merge "qcacmn: Add new INI to separate scan policy for rest of world users"...

Merge "qcacmn: Add new INI to separate scan policy for rest of world users" into wlan-cmn.driver.lnx.2.0.8
parents 9887ce4e c786671e
Loading
Loading
Loading
Loading
+24 −0
Original line number Diff line number Diff line
@@ -1908,6 +1908,30 @@ bool wlan_cm_get_check_6ghz_security(struct wlan_objmgr_psoc *psoc)
	return mlme_psoc_obj->psoc_cfg.score_config.check_6ghz_security;
}

void wlan_cm_set_standard_6ghz_conn_policy(struct wlan_objmgr_psoc *psoc,
					   bool value)
{
	struct psoc_mlme_obj *mlme_psoc_obj;

	mlme_psoc_obj = wlan_psoc_mlme_get_cmpt_obj(psoc);
	if (!mlme_psoc_obj)
		return;

	mlme_debug("6ghz standard connection policy val %x", value);
	mlme_psoc_obj->psoc_cfg.score_config.standard_6ghz_conn_policy = value;
}

bool wlan_cm_get_standard_6ghz_conn_policy(struct wlan_objmgr_psoc *psoc)
{
	struct psoc_mlme_obj *mlme_psoc_obj;

	mlme_psoc_obj = wlan_psoc_mlme_get_cmpt_obj(psoc);
	if (!mlme_psoc_obj)
		return false;

	return mlme_psoc_obj->psoc_cfg.score_config.standard_6ghz_conn_policy;
}

void wlan_cm_set_6ghz_key_mgmt_mask(struct wlan_objmgr_psoc *psoc,
				    uint32_t value)
{
+27 −0
Original line number Diff line number Diff line
/*
 * Copyright (c) 2017-2020, The Linux Foundation. All rights reserved.
 * Copyright (c) 2023 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 above
@@ -129,6 +130,7 @@ struct per_slot_score {
 * @check_assoc_disallowed: Should assoc be disallowed if MBO OCE IE indicate so
 * @vendor_roam_score_algorithm: Preferred ETP vendor roam score algorithm
 * @check_6ghz_security: check security for 6Ghz candidate
 * @standard_6ghz_conn_policy: check for 6 GHz standard connection policy
 * @key_mgmt_mask_6ghz: user configurable mask for 6ghz AKM
 */
struct scoring_cfg {
@@ -143,6 +145,7 @@ struct scoring_cfg {
	bool check_assoc_disallowed;
	bool vendor_roam_score_algorithm;
	uint8_t check_6ghz_security;
	uint8_t standard_6ghz_conn_policy:1;
	uint32_t key_mgmt_mask_6ghz;
};

@@ -291,6 +294,18 @@ void wlan_cm_set_6ghz_key_mgmt_mask(struct wlan_objmgr_psoc *psoc,
 */
uint32_t wlan_cm_get_6ghz_key_mgmt_mask(struct wlan_objmgr_psoc *psoc);

void wlan_cm_set_standard_6ghz_conn_policy(struct wlan_objmgr_psoc *psoc,
					   bool value);

/**
 * wlan_cm_get_standard_6ghz_conn_policy() - Get 6Ghz standard connection
 *					     policy
 * @psoc: pointer to psoc object
 *
 * Return: value
 */
bool wlan_cm_get_standard_6ghz_conn_policy(struct wlan_objmgr_psoc *psoc);

#else
static inline bool
wlan_cm_6ghz_allowed_for_akm(struct wlan_objmgr_psoc *psoc,
@@ -314,6 +329,18 @@ bool wlan_cm_get_check_6ghz_security(struct wlan_objmgr_psoc *psoc)
	return false;
}

static inline
void wlan_cm_set_standard_6ghz_conn_policy(struct wlan_objmgr_psoc *psoc,
					   uint32_t value)
{
}

static inline
bool wlan_cm_get_standard_6ghz_conn_policy(struct wlan_objmgr_psoc *psoc)
{
	return false;
}

static inline
void wlan_cm_set_6ghz_key_mgmt_mask(struct wlan_objmgr_psoc *psoc,
				    uint32_t value) {}
+3 −2
Original line number Diff line number Diff line
/*
 * Copyright (c) 2017-2020 The Linux Foundation. All rights reserved.
 * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
 * Copyright (c) 2022-2023 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
@@ -1166,7 +1166,8 @@ QDF_STATUS __scm_handle_bcn_probe(struct scan_bcn_probe_event *bcn)
		 * enabled. wlan_cm_get_check_6ghz_security API returns true if
		 * neither Safe mode nor RF test mode are enabled.
		 */
		if (!scm_is_bss_allowed_for_country(psoc, scan_entry) &&
		if (!wlan_cm_get_standard_6ghz_conn_policy(psoc) &&
		    !scm_is_bss_allowed_for_country(psoc, scan_entry) &&
		    wlan_cm_get_check_6ghz_security(psoc)) {
			scm_info_rl(
				"Drop frame from "QDF_MAC_ADDR_FMT