Add support for roaming in case the driver
detects a nud failure. The STA then would roam
to another BSSID, else if the roaming gets failed
the STA would remain connected to the same BSSID
as connected before.
Change-Id: Idbc99b0ce2f9cacd97564dd8cf9892120958eda2
CRs-Fixed: 2461675
Function mlme_get_dynamic_oce_flags can return the NULL value.
Avoid and check for NULL pointer in the callers.
Change-Id: Idc83a9e5dea812a73fed24de3aa2c2c49436f7d1
CRs-Fixed: 2462716
MLME log macros like mlme_debug, mlme_err, mlme_info are having same
definition in legacy and common code. To avoid this redefination,
lagacy MLME log macros are renamed.
Change-Id: I71fbbcd1f74df73e82b799b318a9e9a95a3cb0c8
CRs-Fixed: 2446535
Update the HE partial BW UL MU MIMO capability in CFG with the
FW capability shared for supported features.
Change-Id: Ia2c934ce2277076f86fc679b55d4d386ae27795c
CRs-Fixed: 2446810
Disable OCE in STA vdev if any sta gets associated to SAP/GO.
This will improve the scan results in STA interface.
Without this fix firmware will do probe request deferral for 15ms
out of 28 ms , so 15ms is gone and rest is not sufficient dwell
time to get all AP probe responses.
Change-Id: Ie6f79c86025c53360c792c740a963ed8a1d9b936
CRs-Fixed: 2443190
Adaptive 11r feature that enables the AP to support FT-AKM
without configuring the FT-AKM in the network. The AP will
advertise non-FT akm with a vendor specific IE having Adaptive
11r bit set to 1 in the IE data. The AP also advertises the
MDE in beacon/probe response.
The STA should check the adaptive 11r capability if the AP
advertises MDE in beacon/probe and adaptive 11r capability in
vendor specific IE. If adaptive 11r capability is found,
STA should advertise the FT equivalent of the non-FT AKM.
Introdue a compile time flag WLAN_ADAPTIVE_11R_ENABLED to
enable/disable adaptive 11r support.
If the AP is adaptive 11r capable, set the is_adaptive_11r_ap
flag in bss descrtiptor. This flag will be sent in join request
and populated to pe_session. Also mark the CSR session as
adaptive 11r session based on this flag.
Add changes to check for the adaptive 11r service capability
advertised by firmware. If the host driver connects to adaptive
11r AP, enable RSO only if the firmware advertises adaptive
11r capability, else RSO should be disabled.
If the connection is adaptive 11r connection and if the adaptive
11r ini is enabled, set the adaptive_11r flag in
wmi_roam_11r_offload_tlv_param sent over the wmi command
WMI_ROAM_SCAN_MODE to the firmware. This will enable firmware to
filter the adaptive 11r AP from roam scan results.
Change-Id: If27a2393e3f4bb68942f5ebcec0135f57627f16b
CRs-Fixed: 2437988
With current design, firmware sends the kck, kek and replay
counters as part of wmi_key_material tlv over the
WMI_ROAM_SYNCH_EVENTID event. But the maximum supported kck key
length in wmi_key_material was 16 bytes. But for FT Suite-B
(akm 00:0f:ac:13), the kck_bits is 24 bytes long and cannot be
sent over wmi_key_material. So firmware sends kck, kek and
replay counter values over the new tlv wmi_key_material_ext.
Host driver copies the kck key with fixed 16 byte length to the
upper layers. Introduce kck_length parameter in csr_roam_info
and roam_offload_synch_ind structures and copy kck based on this
length.
Also fix maximum number of AKM suites supported to 5, as some
certification test cases advertise 5 akms.
Change-Id: Iab050e3e3f7efead8070a02094998d15f7ffcbd0
CRs-Fixed: 2400770
Propagation from qcacld-2.0 to qcacld-3.0
For the sap role, .get_station would invoke
wlan_hdd_get_station_remote() or wlan_hdd_get_sap_stats(), depends on
"gSapGetPeerInfo" ini setting. And fix the logic of determine sap get
peer info enable or not by target capability.
CRs-Fixed: 2427627
Change-Id: I3162950a6a7202d55b64ff9c60a26971d3a31555
Currently HDD is populating SAP configuration values and
sending it down to SAP module instead use the respective
MLME CFG public API's to get the configuration values.
Move following CFG values:
1. auto_channel_select_weight
2. reduced_beacon_interval
3. dfs_preferred_channel_location
Change-Id: Ic0936a9d96d0587d927ea4d906bd659969415847
CRs-Fixed: 2425524
Driver uses cipher stored in vdev to get the MIC length, which
may get updated if multiple peer(TDLS peer in STA case) get
connected to the vdev. Thus depending on latest peer cipher type
the MIC length will be calculated for all peers.
To fix store cipher info in peer and use it to calculate MIC length
for the frame.
Change-Id: I8afbf9a3bb43c294dbacbbaa7fa0746600937d11
CRs-Fixed: 2428482
Currently, only broadcast disassociate is supported and deauth is
send in a unicast manner.
For enabling broadcast deauth support, bypass the unicast deauth
and directly send broadcast disassociate.
Change-Id: Ie196bc955b5b9a9f48a474e5f109b2a6c73fa208
CRs-Fixed: 2420980
Per the Linux Kernel coding style, as enforced by the kernel
checkpatch script, pointers should not be explicitly compared to
NULL. Therefore within mlme replace any such comparisons with logical
operations performed on the pointer itself.
Change-Id: Iac19509c5fdcce036e0288653d61638cf04f01d6
CRs-Fixed: 2418400
BOOLEAN is native c type so external range validation is not needed.
Cleanup references to cfg_in_range(), cfg_min and cfg_max for
BOOLEAN items
Change-Id: I4a60d1bbd12ad3cce00b33c551b3927b2f01f638
CRs-Fixed: 2359500
Legacy WNI CFG items are refactored into new CFG implementation.
PMO uses a wma callback which uses cfg_get API to get listen
interval. Listen interval is now part of the MLME component's
private object. Define API's to get this value and use it instead
of the callbacks.
Remove WMA callback implementation and use new API that gets
listen interval from MLME component.
Change-Id: I797001ea14cc654f9daee3ce297e1ad0c0a08f2a
CRs-Fixed: 2386725
Add ini to support partial and full bandwifth feature of UL MU-MIMO.
0-> no support
1-> partial bandwidth
2-> full and partial bandwidth
Change-Id: I94b2c8e525795a32a923e75f0650742f806dfcd5
CRs-Fixed: 2397536
Refactor the below two ini items to new converged cfg/ini
infrastructure:
"gEnableChangeChannelBandWidth"
"extscan_adaptive_dwell_mode"
"extscan_adaptive_dwell_mode" - move this to scm module
"gEnableChangeChannelBandWidth" - move this to mlme
Change-Id: I1ca6657a95c2cd47057f11ccf23c47347f3fc33b
CRs-Fixed: 2394240
Add the WMM config ini config
CFG_TL_DELAYED_TRGR_FRM_INT_NAME to MLME cfg.
Introduce the basic infra APIs related to these configs
from mlme.
Change-Id: Ifaf8072a78f21760e00973e625d7c8e41d8b51a6
CRs-Fixed: 2361533
Remove the following scan and ap protection related ini items:
CFG_AP_ENABLE_PROTECTION_MODE_NAME
CFG_ENABLE_MAC_ADDR_SPOOFING
CFG_SCAN_AGING_PARAM_NAME
Replace the corresponding hdd_config variables and replace
these variable callers with ucfg api from corresponding module.
Change-Id: I99a2659e2151ad285e9451b9e9cc036a199581a3
CRs-Fixed: 2378991
2g vht20 config should be decided by both capability indicated
by target and ini config. Only when F/W indicates 2g vht20
supported and ini config gEnableVhtFor24GHzBand=1, 2g vht20 is
enabled.
Change-Id: I5b7ad8f82b6000096327c501dc84ad05480ef0fd
CRs-Fixed: 2381514
Based on new cfg framework, defines below five WNI cfg items and one
INI cfg:
- WNI_CFG_APSD_ENABLED
- WNI_CFG_OBSS_DETECTION_OFFLOAD
- WNI_CFG_OBSS_COLOR_COLLISION_OFFLOAD
- WNI_CFG_CURRENT_TX_POWER_LEVEL
- WNI_CFG_LOCAL_POWER_CONSTRAINT
- gTxPowerCap
Change-Id: I5546ea7a4efd142b546ad10a40712d40d2d3ea0d
CRs-Fixed: 2375857
Make changes to the legacy code to support the
new SET KEY converged infrastructure.
Change-Id: Ic5359e3a9035ac5f2a937a9a1013fa92764cda9d
CRs-Fixed: 2358795
Update qcacld driver to move IBSS INI params to converged CFG
component and cleanup HDD ini entriesi
Change-Id: Id8e4c0505113e556a8d64915a648f17fc5c0daf5
CRs-fixed: 2358493
WNI_CFG_WPS_UUID should be refactored and adopted by the mlme
component.
Move the cfg item to cfg_mlme_wps_params.h
Change-Id: I79db155ad16998e9d7a7e20c01efbcba1681d61e
CRs-Fixed: 2366599
Add the functionality changes to replace the legacy powersave
parameters corresponding to the ini values that were converged.
Remove the legacy powersave ini items.
Change-Id: I1da9af9aac4a02a16dc22a43f7f9d526e196d599
CRs-Fixed: 2364964
WLAN Latency Manager support is one of the capabilities that is sent
along with the service bits by firmware. Currently, driver is not
exposing this feature to the user space.
Create and add support for a feature flag to expose this feature to the
userspace.
Change-Id: Ica8213bdaeb32c7be01b6a71a7d8b7a32dc8611b
CRs-Fixed: 2363704
The function mlme_get_psoc_obj() is used to get the mlme_obj and
error handling is taken care inside the function if mlme_obj is
null.
Remove the error message in callers of mlme_get_psoc_obj.
Change-Id: Ie7cda790758ad21b1a0275d313a97f322a2f6fd7
CRs-Fixed: 2365042
Add the following WLM and RRM ini configs to MLME
cfg:
CFG_LATENCY_ENABLE
CFG_LATENCY_LEVEL
CFG_LATENCY_FLAGS_NORMAL
CFG_LATENCY_FLAGS_MOD
CFG_LATENCY_FLAGS_LOW
CFG_LATENCY_FLAGS_ULTLOW
CFG_RRM_ENABLE
CFG_RRM_MEAS_RAND_INTVL
CFG_RM_CAPABILITY
Change-Id: I714aca1e9bc6d3c330934753364d7f58d93a28d7
CRs-Fixed: 2353103
Add the following WLAN_REG ini configs and FE_BEAMFORM
cfg items to MLME cfg:
1. WNI_CFG_11D_ENABLED
2. WNI_CFG_11H_ENABLED
3. WNI_CFG_TX_BF_CAP
4. WNI_CFG_AS_CAP
5. WNI_CFG_DISABLE_LDPC_WITH_TXBF_AP
Introduce the basic infra APIs related to these configs
from mlme.
In csr_roam_open_session, lim_populate_vht_mcs_set,
lim_sta_send_add_bss, populate_dot11f_tdls_ht_vht_cap,
populate_dot11f_vht_caps and sme_update_nss, local structure
is updated instead of mlme global structure for vht caps and
thus the mlme vht caps contains only the default values.
Fix this by updating mlme vht caps in mlme_update_vht_cap.
Change-Id: I1a948d7a44ad2bcc7f711c46b278971d7e4026e7
CRs-Fixed: 2354562
Add power items related CFG items in new file,
and store the respective inis in MLME component
Change-Id: Iac183da52495aca07c6270edeb9f383ab49c1ff5
CRs-Fixed: 2341900
The second part of LFR INIs are defined dynamically in legacy codes.
Refines these INIs and APIs based on new cfg component.
Change-Id: I89869c50952bf2fe403079299b3902fc53c11d61
CRs-Fixed: 2346784