qcacld-3.0: Force SAP on default channel

Currently the driver fails the ACS process
if no channel is found suitable for SAP by
ACS and thus hotspot cannot be enabled.

Fix is to force SAP to come up on some
default channel, this behaviour would
be controlled via an ini to that customers
can choose whether to opt for this behaviour
or not.

Change-Id: I8a63cf0c5d42802e33f4ad67a33d148a4da54d2a
CRs-Fixed: 2658297
This commit is contained in:
gaurank kathpalia
2020-04-08 19:11:39 +05:30
committed by nshrivas
parent b4b63306e4
commit 18aa9fa4a4
6 changed files with 60 additions and 14 deletions

View File

@@ -1305,6 +1305,8 @@ static void mlme_init_acs_cfg(struct wlan_objmgr_psoc *psoc,
cfg_get(psoc, CFG_AUTO_CHANNEL_SELECT_WEIGHT);
acs->is_vendor_acs_support =
cfg_get(psoc, CFG_USER_AUTO_CHANNEL_SELECTION);
acs->force_sap_start =
cfg_get(psoc, CFG_ACS_FORCE_START_SAP);
acs->is_acs_support_for_dfs_ltecoex =
cfg_get(psoc, CFG_USER_ACS_DFS_LTE);
acs->is_external_acs_policy =

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2012-2019 The Linux Foundation. All rights reserved.
* Copyright (c) 2012-2020 The Linux Foundation. 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
@@ -179,12 +179,36 @@
"5940-7105=0, 5965=100, 6045=100, 6125=100, 6205=100, 6285=100, 6365=100, 6605=100, 6685=100, 6765=100, 6845=100", \
"Used to specify the channel weights")
/*
* <ini>
* force_start_sap- Enable the SAP even if no channel is suitable for SAP
* @Min: 0
* @Max: 1
* @Default: 0
*
* This ini is used to enable the SAP even if no channel is found suitable
* for SAP by ACS.
*
* Related: NA
*
* Supported Feature: ACS
*
* Usage: Internal
*
* </ini>
*/
#define CFG_ACS_FORCE_START_SAP CFG_INI_BOOL( \
"force_start_sap", \
0, \
"Force start SAP")
#define CFG_ACS_ALL \
CFG(CFG_ACS_WITH_MORE_PARAM) \
CFG(CFG_AUTO_CHANNEL_SELECT_WEIGHT) \
CFG(CFG_USER_AUTO_CHANNEL_SELECTION) \
CFG(CFG_USER_ACS_DFS_LTE) \
CFG(CFG_EXTERNAL_ACS_POLICY) \
CFG(CFG_NORMALIZE_ACS_WEIGHT)
CFG(CFG_NORMALIZE_ACS_WEIGHT) \
CFG(CFG_ACS_FORCE_START_SAP)
#endif /* __CFG_MLME_ACS_H */

View File

@@ -1227,6 +1227,8 @@ struct acs_weight_range {
* @normalize_weight_num_chan: Number of freq items for normalization.
* @normalize_weight_range: Frequency range for weight normalization
* @num_weight_range: num of ranges provided by user
* @force_sap_start: Force SAP start when no channel is found suitable
* by ACS
*/
struct wlan_mlme_acs {
bool is_acs_with_more_param;
@@ -1238,6 +1240,7 @@ struct wlan_mlme_acs {
uint16_t normalize_weight_num_chan;
struct acs_weight_range normalize_weight_range[MAX_ACS_WEIGHT_RANGE];
uint16_t num_weight_range;
bool force_sap_start;
};
/*