mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-29 03:01:39 -04:00
qcacld-3.0: Add INI support to disable STA roaming
Use INI "sta_disable_roam" to disable roaming on STA interface if
connection on other interfaces ex. p2p, ndp comes up. Each bit of
the INI "sta_disable_roam" represents an interface.
ex. LFR3_STA_ROAM_DISABLE_BY_P2P BIT(0)
LFR3_STA_ROAM_DISABLE_BY_NAN BIT(1)
As INI "sta_disable_roam" is generic for all the interfaces, cleanup
for INI "p2p_disable_roam" done.
Change-Id: Icd05a97c640ca07978d9960a33de036ed6fe38df
CRs-Fixed: 2637555
This commit is contained in:
parent
c1b5bd080a
commit
48b790c62d
16 changed files with 158 additions and 37 deletions
|
|
@ -552,8 +552,6 @@ static QDF_STATUS p2p_object_init_params(
|
|||
cfg_get(psoc, CFG_GO_LINK_MONITOR_PERIOD);
|
||||
p2p_soc_obj->param.p2p_device_addr_admin =
|
||||
cfg_get(psoc, CFG_P2P_DEVICE_ADDRESS_ADMINISTRATED);
|
||||
p2p_soc_obj->param.p2p_disable_roam =
|
||||
cfg_get(psoc, CFG_P2P_DISABLE_ROAM);
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -198,14 +198,11 @@ enum p2p_connection_status {
|
|||
* @p2p_device_addr_admin: enable/disable to derive the P2P
|
||||
* MAC address from the primary MAC address
|
||||
* @skip_dfs_channel_p2p_search: skip DFS Channel in case of P2P Search
|
||||
* @p2p_disable_roam: Disable Roam on sta interface during P2P
|
||||
* connection
|
||||
*/
|
||||
struct p2p_param {
|
||||
uint32_t go_keepalive_period;
|
||||
uint32_t go_link_monitor_period;
|
||||
bool p2p_device_addr_admin;
|
||||
bool p2p_disable_roam;
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -98,32 +98,9 @@
|
|||
1, \
|
||||
"derive the P2P MAC address from the primary MAC address")
|
||||
|
||||
/*
|
||||
* <ini>
|
||||
* p2p_disable_roam - Disable Roam on sta interface during P2P connection
|
||||
* @Min: 0 - Roam Enabled on sta interface during P2P connection
|
||||
* @Max: 1 - Roam Disabled on sta interface during P2P connection
|
||||
* @Default: 0
|
||||
*
|
||||
* Disable roaming on STA iface to avoid audio glitches on p2p if its connected
|
||||
*
|
||||
* Related: None.
|
||||
*
|
||||
* Supported Feature: Disable Roam during P2P
|
||||
*
|
||||
* Usage: Internal
|
||||
*
|
||||
* </ini>
|
||||
*/
|
||||
#define CFG_P2P_DISABLE_ROAM CFG_INI_BOOL( \
|
||||
"p2p_disable_roam", \
|
||||
0, \
|
||||
"disable roam on STA iface if p2p is connected")
|
||||
|
||||
#define CFG_P2P_ALL \
|
||||
CFG(CFG_GO_KEEP_ALIVE_PERIOD) \
|
||||
CFG(CFG_GO_LINK_MONITOR_PERIOD) \
|
||||
CFG(CFG_P2P_DEVICE_ADDRESS_ADMINISTRATED) \
|
||||
CFG(CFG_P2P_DISABLE_ROAM)
|
||||
CFG(CFG_P2P_DEVICE_ADDRESS_ADMINISTRATED)
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -24,6 +24,7 @@
|
|||
#include "wlan_p2p_public_struct.h"
|
||||
#include "wlan_p2p_cfg_api.h"
|
||||
#include "../../core/src/wlan_p2p_main.h"
|
||||
#include "wlan_mlme_ucfg_api.h"
|
||||
|
||||
static inline struct p2p_soc_priv_obj *
|
||||
wlan_psoc_get_p2p_object(struct wlan_objmgr_psoc *psoc)
|
||||
|
|
@ -88,13 +89,11 @@ cfg_p2p_get_device_addr_admin(struct wlan_objmgr_psoc *psoc,
|
|||
|
||||
bool cfg_p2p_is_roam_config_disabled(struct wlan_objmgr_psoc *psoc)
|
||||
{
|
||||
struct p2p_soc_priv_obj *p2p_soc_obj;
|
||||
uint32_t sta_roam_disable = 0;
|
||||
|
||||
p2p_soc_obj = wlan_psoc_get_p2p_object(psoc);
|
||||
if (!p2p_soc_obj) {
|
||||
p2p_err("p2p psoc null");
|
||||
return false;
|
||||
}
|
||||
if (ucfg_mlme_get_roam_disable_config(psoc, &sta_roam_disable) ==
|
||||
QDF_STATUS_SUCCESS)
|
||||
return sta_roam_disable & LFR3_STA_ROAM_DISABLE_BY_P2P;
|
||||
|
||||
return p2p_soc_obj->param.p2p_disable_roam;
|
||||
return false;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue