Allow driver to send RSO command irrespective of value of INI
FastRoamingEnabled.
FastRoamEnabled has nothing to do with LFR enable or disable.
Change-Id: Ice5e653b249f988a49d18ed56c9be53d4436bf56
CRs-Fixed: 2385045
Currently PMK cache is not getting cleared inside driver,
which can lead to information disclosure.
To address this issue, clear PMK information from all the
possible places in the driver.
Change-Id: I83758920f414c5287292ebdbebdcc9bf7238103c
CRs-fixed: 2403441
Currently PTK, GTK and IGTK keys are not getting cleared
on wifi link disconnection from wifi driver memory, which
can lead to information disclosure. Clear PTK, GTK and IGTK
keys from wifi driver memory to avoid any potential information
disclore after wifi is turned off.
Change-Id: I309cd7af8d396167e9ec3ef9c6c443e8c08903d8
CRs-fixed: 2396603
In lim_send_mlm_assoc_ind, wpa information may be copied to rsnIEdata.
So before calling dot11f_unpack_ie_rsn for rsnIEdata in the function
csr_roam_chk_lnk_assoc_ind, make sure the element id is RSN IE.
dot11f_unpack_ie_rsn returns failure for rsnIEdata if it contains
WPA information, then WPA connection fails.
Change-Id: I602a47326d452f33ba589a9cc99f59ce443d3162
CRs-Fixed: 2406444
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
The Linux Coding Style enumerates a few special cases where typedefs
are useful, but stresses "NEVER EVER use a typedef unless you can
clearly match one of those rules." The tSmeConfigParams typedef does
not meet any of those criteria, so replace it (and the "tp" variant)
with a reference to the underlying struct.
Further note the Linux Coding Style frowns upon mixed-case names and
so-called Hungarian notation, so in conjunction rename the underlying
struct to be in compliance.
Change-Id: I926cf67d87398782049bf9acbcd06f806a7cec29
CRs-Fixed: 2412715
The rrmConfig struct inside tSmeConfigParams is written by
sme_get_config_param() but is otherwise never accessed. Since
this is unused, remove it.
Change-Id: Ia173b20e69506f62e80baf239e889026595ba579
CRs-Fixed: 2412714
There are currently a multitude of issues with sys_process_mmh_msg()
so update both the interface and the implementation to align with good
software engineering practices and the Linux Coding Style.
Change-Id: I76e53772dd72426cc4245756457e2a8140937571
CRs-Fixed: 2411714
Log of level err will call printk to print on uart, may make
current thread sleep or delay > 10ms, then wma_roam_synch_event
need longer time to handle, LFR3 roam need longer time.
Change-Id: Ibdd58f74fcf5cf3de8e2b06166c375a2ce634cb5
CRs-Fixed: 2406307
sme_ese_send_beacon_req_scan_results sends number of bss description
present in beacon report through bcn_report->numBss. For each
iteration driver could send max 4 BSS. In case if driver has to send
beacon report for more than 4 BSS, It sends 4 BSS per iteration. Once
first four results are sent and bcn_report->numBss is not set to 0,
in next iteration bcn_report->numBss++ start from 4 instead of 0.
This Result in sending value more than 4 instead of 4 for next rest
BSS and leads to Integer overflow for bcn_report->numBss.
Driver should memset beacon_rep buffer for each iteration in order to
prevent Integer overflow of bcn_report->numBss. By this driver
could send fresh beacon report (independent of previous beacon report)
in each iteration.
Fix is to memset beacon_rep buffer to zero after sending beacon
report in each iteration in sme_ese_send_beacon_req_scan_results.
Change-Id: I0d07e54ec7f05e8eef388f9958fad597dc49873e
CRs-Fixed: 2408834
While handling userspace-directed re-association, driver
checks for flag "supplicant_disabled_roaming" before sending
roam invoke command after connection. Currently, the value of
supplicant_disabled_roaming is getting updated by value comes
through vendor command QCA_WLAN_VENDOR_ATTR_ROAMING_POLICY.
In case if roaming does not get enabled using vendor command
in __wlan_hdd_cfg80211_set_fast_roaming, driver rejects
fast re-association cmd. This leads to roaming failure.
Fix is to allow roam invoke command irrespective of flag
"supplicant_disabled_roaming" and send csr_roam_offload_scan
with reason REASON_SUPPLICANT_DISABLED_ROAMING instead of
REASON_DISCONNECTED while processing FASTREASSOC command.
Change-Id: Iee55fff8dd9445a2fb2b96a244f59a763f207dd5
CRs-Fixed: 2408861
Host driver code has several instances of struct bss_description
that is type defined to tSirBssDescription, *tpSirBssDescription
This goes against the linux coding style. This change replaces
tpSirBssDescription with struct bss_description *.
Also Linux Coding Style doesn't welcome mixed-case names. So
cleanup some mixed-case variable names as well.
This change should be followed by changes to replace
typedef tSirBssDescription also ultimately.
Change-Id: Ic6fa2d5c7db0d0c1fe4be1096d416295dcb83779
CRs-Fixed: 2409129
Currently the driver has hdd, sme api to set the hw
dbs capability in the mac context which is not used
by any other module, because the dispatcher APIs are
already present.
Remove the hw mode capability variable from the mac
context as it is no longer used.
Change-Id: I7aa53b09cfb93fcd87ba9faf97402c136ef6b7ed
CRs-Fixed: 2409368
The Linux Coding Style frowns upon mixed-case names and so-called
Hungarian notation, so rename identifier eBand to be compliant.
Change-Id: If232dac1fb05b64c7643ee0f3adea47a712a192b
CRs-Fixed: 2409886
The Linux Coding Style frowns upon mixed-case names and so-called
Hungarian notation, so rename SME local variable pPlmReq to be
compliant.
Change-Id: I89fbf08ccc2b16bfed397ac6afa190cefe34141c
CRs-Fixed: 2409885
The Linux Coding Style frowns upon mixed-case names so rename
proxyARPService to be compliant.
Change-Id: I8ad21c749caabde80fa21fa6800901c20988cfd2
CRs-Fixed: 2409875
The Linux Coding Style frowns upon mixed-case names and so-called
Hungarian notation, so rename nEmptyScanRefreshPeriod to be compliant.
Change-Id: Iaf3d2ea3dc66c79c7e0e9f5ec42f013efd95f938
CRs-Fixed: 2408523
In rrm scan response if IterMeasTimer fails to start the rrm channel list
is not freed. Similarly during rrm close if IterMeasTimer was running the
rrm channel list is not freed.
Free rrm channel list in rrm close and if IterMeasTimer fails to start.
Change-Id: I0ec18759dc81910755bda83d09f5106f8dd17937
CRs-Fixed: 2407417
Currently if the FW supports the dynamic nss update feature,
the driver rejects the command to change the nss, but
there can be case scenarios where this update is required.
Fix is to accept the command in disconnected state, and
update the vdev specific ini of nss, and also update the
ini, and dynamic configuration in vdev mlme obj, which
is used in dynamic nss update.
Change-Id: I9cfa7f112159148733f06bf479987928f112901f
CRs-Fixed: 2404262
Set the correct channel bonding parameter with user configured
value to enable/disable the channel bonding mode.
Change-Id: I38ff74fd5a1786a1446f36ca619a929c84f9446a
CRs-Fixed: 2394522
When LFR3 compile time flag WLAN_FEATURE_ROAM_OFFLOAD is
disabled, compilation of wlan driver fails as btk_key is defined
under WLAN_FEATURE_ROAM_OFFLOAD but sme_add_key_btk tries to
access this value irrespective of the compile time flag.
As the caller of sme_add_key_btk, calls this only if the
function hdd_is_btk_enc_type returns true and this function
hdd_is_btk_enc_type() is conditionally compiled based on
WLAN_FEATURE_ROAM_OFFLOAD, its better to include sme_add_key_btk
only if WLAN_FEATURE_ROAM_OFFLOAD is enabled.
Change-Id: I51315ed3bff8979120b86f75c06362a1c8a5658c
CRs-Fixed: 2408418
During LFR3, Driver neighbor roam state keeps
eCSR_NEIGHBOR_ROAM_STATE_CONNECTED, don't enter
eCSR_NEIGHBOR_ROAM_STATE_INIT, no chance to call
csr_init_occupied_channels_list, so when candidate AP changes,
can't update in occupied channnels list.
Change-Id: Iadf60a013acbac3770108b4abcdc3d5b404daaf5
CRs-Fixed: 2406298
Currently the driver accepts the values of 1,2
for MCC to SCC switch , which does not take effect
as they are not used in the sap switch channel,
thus the same are of no use.
Fix is to cleanup these as they are of no use, and
do not give the desired output too.
Change-Id: I604d83aa59735362828266584220016aac124b1a
CRs-Fixed: 2404563
During roaming, the firmware updates the host driver without
the next erp sequence number. Currently the host driver updates
the erp sequence number in roam info without checking if the
connection is FILS connection. This results in potential NULL
pointer dereference in case of non FILS connection.
Add check to see if session->pCurRoamProfile->fils_con_info is
not NULL before updating the erp sequence number.
Change-Id: I96541528d179b2b895a3f7f581e073e04bce76af
CRs-Fixed: 2405492
Function csr_send_assoc_ind_to_upper_layer_cnf_msg() currently uses a
combination of direct structure writes and serialized buffer writes to
fill the eWNI_SME_UPPER_LAYER_ASSOC_CNF message. Bring this logic up
to date by removing all serialized buffer writes and exclusively use
direct structure writes. In the process rename all function params and
local variables to be compliant with the coding style.
Change-Id: Ib9a986bcb1928b7d586a820521a72879f780be57
CRs-Fixed: 2406618
If ACM is off and can't send AddTspec too, we should
be still ok to send uapsd info to AP via reassoc req.
If roam offload is enabled, when csr_reassoc is called, vdev
start cmd is sent during vdev started status, assert will happen.
Fix: call sme_fast_reassoc in sme_qos_request_reassoc to invoke
LFR3 roam if roam offload supported.
Reproduce steps:
1. Change ini: gAddTSWhenACMIsOff=0
2. DUT STA connected AP
3. iwpriv wlan0 addTspec 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
Change-Id: Idbd53ff0af36cb3b68c514e399d0033c41c74a78
CRs-Fixed: 2402542
Add the support to allow user space applications through cfg80211
vendor command to check if wlan firmware is alive or not.
Change-Id: I96bb16e01974f7689493577741a36e3832963996
CRs-Fixed: 2399508
The Linux Coding Style frowns upon mixed-case names and so-called
Hungarian notation, so rename pEseBcnReq (used by both HDD and SME) to
be compliant.
Change-Id: I377e1c4ff65bafeba403aa87a6542891f03bb2ba
CRs-Fixed: 2405758
rssi_disallow_bssid could be accessed from different thread,
mutex protection is added to avoid node invalid access when
node has been deleted or updated.
Change-Id: I2b19d48f19a3da55030384f26c501aee283801c7
CRs-Fixed: 2405157
The Linux Coding Style frowns upon mixed-case names and so-called
Hungarian notation, so rename HDD local variable pUserData to be
compliant.
Change-Id: Ia6e960b2666ef2dc958cdc97cef0b525cfa9e58d
CRs-Fixed: 2405754
Introduce new CSR auth type eCSR_AUTH_TYPE_FT_SAE to support the
akm suite selector 00:0F:AC-09(FT-SAE) and 00:0F:AC(FT-Suite-B).
Based on the sta_ctx authType, rsn auth type and hdd key
management type, set the auth type eCSR_AUTH_TYPE_FT_SAE to the
roam_profile during initial connection.
csr_scan_get_result() pushes the scan filter to scm module.
Translate the legacy eCsrAuthType to wlan_auth_type and push it
to the filter->auth_type.
Change-Id: I3ab91799ac280b85cdd67ad26b0eb7519d3b8b14
CRs-Fixed: 2400679
When receiving assoc request from OWE STA, always send update OWE
info event which contains the following information:
- MAC address of STA
- RSN IE in assoc request
- DH IE in assoc request
Change-Id: I7017c5d2730e493db2472ae53d5dfa69553cfe45
CRs-Fixed: 2396925
Refine pe_roam_synch_callback() declaration and definition to be
compliant with coding style. Replace lim_print_mac_addr() calls
with %pM format to print the bssid in this function.
Change-Id: I39a91c213d947f542f2a678910d0715098074365
CRs-Fixed: 2404405
Remove the duplicate enumerations in CDS and
use the enums defined in wlan_cmn_ieee80211.h.
Change-Id: I0bf380d0b06d85be8778d985b10246ea2b8aa474
CRs-Fixed: 2395980
If antenna sharing is supported, target must not include 2x2
rates in HT IE for NAN Datapath related frames. Therefore set
2.4GHz band NSS to 1x1 in NDI vdev NSS config parameters.
Set 2.4GHz NSS to 1x1 for NDI if antenna sharing is supported.
Change-Id: I9950c825b09135e08dbd7c0ecf624fdb575476cd
CRs-Fixed: 2384515