qcacmn: Do not allow connection if STA VLP not supported

If country code for AP and STA are same and if STA does not
support VLP mode for a particular channel and if AP power
type is misconfigured to VLP mode, do not allow connection
to that AP as per regulatory guidelines.

Change-Id: Ie3bb980df25a15c4d9d7e566663e28950414f733
CRs-Fixed: 3362142
This commit is contained in:
Asutosh Mohapatra
2022-12-23 07:48:01 -08:00
zatwierdzone przez Madan Koyyalamudi
rodzic 8aac71d828
commit e4407d89d1
4 zmienionych plików z 49 dodań i 14 usunięć

Wyświetl plik

@@ -1,6 +1,6 @@
/*
* Copyright (c) 2017-2021 The Linux Foundation. All rights reserved.
* Copyright (c) 2021-2022 Qualcomm Innovation Center, Inc. All rights reserved.
* Copyright (c) 2021-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
@@ -587,15 +587,18 @@ QDF_STATUS wlan_reg_read_current_country(struct wlan_objmgr_psoc *psoc,
/**
* wlan_reg_get_6g_power_type_for_ctry() - Return power type for 6G based
* on country IE
* @ap_ctry: ptr to country string in country IE
* @sta_ctry: ptr to sta programmed country
* @pwr_type_6g: ptr to 6G power type
* @psoc: pointer to psoc
* @pdev: pointer to pdev
* @ap_ctry: pointer to country string in country IE
* @sta_ctry: pointer to sta programmed country
* @pwr_type_6g: pointer to 6G power type
* @ctry_code_match: Check for country IE and sta country code match
* @ap_pwr_type: AP's power type for 6G as advertised in HE ops IE
* Return: QDF_STATUS
*/
QDF_STATUS
wlan_reg_get_6g_power_type_for_ctry(struct wlan_objmgr_psoc *psoc,
struct wlan_objmgr_pdev *pdev,
uint8_t *ap_ctry, uint8_t *sta_ctry,
enum reg_6g_ap_type *pwr_type_6g,
bool *ctry_code_match,

Wyświetl plik

@@ -1,6 +1,6 @@
/*
* Copyright (c) 2017-2021 The Linux Foundation. All rights reserved.
* Copyright (c) 2021-2022 Qualcomm Innovation Center, Inc. All rights reserved.
* Copyright (c) 2021-2023 Qualcomm Innovation Center, Inc. All rights reserved.
*
*
* Permission to use, copy, modify, and/or distribute this software for
@@ -112,12 +112,13 @@ qdf_export_symbol(wlan_reg_get_pwrmode_chan_list);
#ifdef CONFIG_REG_CLIENT
QDF_STATUS
wlan_reg_get_6g_power_type_for_ctry(struct wlan_objmgr_psoc *psoc,
struct wlan_objmgr_pdev *pdev,
uint8_t *ap_ctry, uint8_t *sta_ctry,
enum reg_6g_ap_type *pwr_type_6g,
bool *ctry_code_match,
enum reg_6g_ap_type ap_pwr_type)
{
return reg_get_6g_power_type_for_ctry(psoc, ap_ctry, sta_ctry,
return reg_get_6g_power_type_for_ctry(psoc, pdev, ap_ctry, sta_ctry,
pwr_type_6g, ctry_code_match,
ap_pwr_type);
}