In function csr_roam_chk_lnk_disassoc_ind format
specifier to print sizeof() is for 64 bit systems
which leads in compilation error on 32 bit systems.
Fix this issue by common format specifier for both
32 and 64 bit compilation.
Change-Id: Ib3a5df243c8c29040321af4bdcf7230a6e5e0e52
CRs-Fixed: 1055344
Turn off opportunistic key caching (OKC) in firmware based on
"OkcEnabled" parameter in WCNSS_qcom_cfg.ini.
It is enabled by default and can be turned off with value 0.
Remove FEATURE_WLAN_OKC compilation option because OKC is always
compiled in for cld3.0. Remove underlying empty routine
cb_notify_set_okc_feature_enabled().
CRs-Fixed: 1057181
Change-Id: I174e860abef0532d62517635fe56927d8c3c9fd3
Country code comparison result is checked against true value,
but the comparison result is non-zero if the country code is
valid, hence checking the result against true fails and do
not set the country code.
Correct the conditional logic to check if the given country
valid or not.
Change-Id: Id893cfec8571939e4e455fa35ea95310f4c77263
CRs-Fixed: 1060242
qcacld-2.0 to qcacld-3.0 propagation
During WPS registration process the psession encryption type is 0.
Now if AP's beacon have RSN IE, while processing beacons security
mismatch is detected and DUT sends unicast probe request without
WPS IE.
To avoid this ignore security mismatch during WPS registration.
Change-Id: Ic1b4de116ec6a99749ec3d8ba28b29d52190c344
CRs-Fixed: 967553
qcacld-2.0 to qcacld-3.0 propagation
SoftAP should check gEnableVhtFor24GHzBand ini variable before
enabling vht mode in 2.4Ghz mode.
Added changes to turn off vht mode if gEnableVhtFor24GHzBand is
disabled for 2.4Ghz.
Change-Id: I135e5449f95342a98abfa0b9cd5b1849a84c5c4c
CRs-Fixed: 988240
qcacld-2.0 to qcacld-3.0 propagation
DUT sends continuous GO Negotiation Response for the request
while ROC is in progress. These frames increase timeout of
cancel ROC timer and ROC is not removed from the active timout.
This can cause ROC to be in active cmd list even after current
timeout value.
Add changes to return from active timeout handler in case of ROC.
Change-Id: I58577b5d2addf7614d8ee458df0ce4632dafa7c0
CRs-Fixed: 990808
qcacld-2.0 to qcacld-3.0 propagation
Currently few MTRACE logs are logged repetitively which leads to
overwriting of other important MTRACE logs.
To avoid this,
1. Remove MTRACE logs which are seen repetitively in scan,
connect/disconnect path and few timer functions.
2. Remove MTRACE log in lim_process_mlm_req_messages() and
lim_process_sme_req_messages() as few enums already logged in
lim_process_messages().
Add MTRACE log in lim_post_mlm_message() and lim_post_sme_message() for
the rest of enums which are not logged in lim_process_messages()
Change-Id: I1478f3e9ab8fb57d8b8b2f65cf2eb3450eb7b64c
CRs-Fixed: 855840
qcacld-2.0 to qcacld-3.0 propagation
MTRACE logs are not present in SME, for messages tx/rx WMA.
So add missing MTRACE logs in SME before transmitting and
after receiving messages to/from WMA.
Change-Id: Iac45ffc1736eecc40e203174888e296767b50a0d
CRs-Fixed: 855871
qcacld-2.0 to qcacld-3.0 propagation
Dereference of 'roamSession' pointer before NULL check in
sme_is_sta_smps_allowed().
Fix to move dereference statements after NULL check.
Change-Id: I04d72a4b8fbc4ba68850ae665e2248a386fa4c10
CRs-Fixed: 992082
In function csr_roam_chk_lnk_disassoc_ind frame size
exceeds 1024 bytes. Because of this compilation fails
on 32 bit systems as there is stack check flag on
32-bit compilation.
Fix is to convert stack allocations to dynamic memory
allocation.
Change-Id: I7c91bc0ed91796ba4dac9c85ea4b1b6f2d8a6ee5
CRs-Fixed: 1055344
In case of dense roam scenario, Host should set initial dense
status if roamable AP count is more than minimum dense AP count.
Current implementation checks for the number of channels in roam
cache list instead of AP count.
Add changes to set the flag if roamable AP count is more than
configured value.
Change-Id: I4d5f7c6c69b1a9a527aace1677050373065af213
CRs-Fixed: 1058211
qcacld-2.0 to qcacld-3.0 propagation
Currently RRM scan results are sent out to the requesting AP, but
are not updated to the kernel.
Update the results to the kernel so that it will be useful in future
in the userspace if a BTM request is received and the lookup of
scan cache can fetch a result for the target AP and an additional
scan can be avoided.
Git-commit: 3075ac910c015ce525bf8badd1eb4a277286b28f
Change-Id: Ie56b86e5c54910648cb2ae8bf2a7dac2ee873e00
CRs-Fixed: 1010596
qcacld-2.0 to qcacld-3.0 propagation
Currently all the scan requests going from the host to the
firmware pass a rest time to the firmware. The firmware
waits for the rest time before starting the scan. This is
not needed in the case of RRM beacon requests with single
channel request to make it more optimal.
Configure the rest times to minimum and start the scan
right after receiving the request
Git-commit: b0132824baeceb25bbc80d0e82ed6693b783b4dd
Change-Id: Ia5c5a1c2c765d13611b901742910325954ce3d8a
CRs-Fixed: 1010596
In following conditions RX LDPC support needs to be enabled
1) when STA is coming up in 5G band
2) when IBSS is coming up in 5G band
for anyother cases RX LDPC needs to be disabled. If user has
choosen RX LDPC to be disabled from INI file then it needs to
be disabled for all the cases including above mentioned cases.
To achieve this, take the intersection of global, INI, and harware
specific RX LDPC settings.
Change-Id: Iae10aa4a8c0931cdb796cd9c8ff558d4bc8e0aed
CRs-Fixed: 1050004
Host is sending OBSS start scan request twice to firmware.
OBSS scan start is triggered as part of the set context response
processing and it gets called twice after association.
Added condition check to allow only once the OBSS scan request.
Change-Id: I8ccc7172df9d89aaa09ad924ced7f8ed5a6ace13
CRs-Fixed: 1053626
qcacld-2.0 to qcacld-3.0 propagation
Currently, In SAP mode due to incorrect wep key
index broadcast frames are not encrypted.
Fix is to make sure to update default index for
BSS(group) key.
Change-Id: I328855decbad20dbd88b48022e466e4f78f5d722
CRs-Fixed: 932749
Sessionize VHT Capability by updating the session
entry at join request or start bss and read the same
capablities at LIM instead of reading from global VHT
CFG items.
Following CFG items are taken care as part of this change.
WNI_CFG_VHT_SU_BEAMFORMER_CAP,
WNI_CFG_VHT_SU_BEAMFORMEE_CAP,
WNI_CFG_VHT_CSN_BEAMFORMEE_ANT_SUPPORTED,
WNI_CFG_VHT_MU_BEAMFORMER_CAP,
WNI_CFG_VHT_MU_BEAMFORMEE_CAP
Change-Id: I7c33de1180416db0027b4690170060549847dd9a
CRs-Fixed: 1029145
Sessionize VHT Capability by updating the session
entry at join request or start bss and read the same
capablities at LIM instead of reading from global VHT
CFG items .
Change-Id: Idef009d4c76cfc6939359dc09379fc1f0d820589
CRs-Fixed: 1029145
Add support for 5/10 MHz channel width for STA and SAP role. To
enable/disable feature, following ini parameter will be used:
* gSub20ChannelWidth=0: indicates do not use Sub 20 MHz bandwidth
this is also the default value.
* gSub20ChannelWidth=1: Bring up SAP/STA in 5 MHz bandwidth
* gSub20ChannelWidth=2: Bring up SAP/STA in 10 MHz bandwidth
Change-Id: Ic6d534dc1eae60fcd2fb7533c934b9ea28e6dd78
CRs-Fixed: 1013211
qcacld-2.0 to qcacld-3.0 propagation
Add NAN API wrapper function definitions and also fix compilation
failure when NAN data path feature is disabled.
Change-Id: Ib4a3133568eee0c2257c65bb0a8905c44048f0c2
CRs-Fixed: 1049546
qcacld-2.0 to qcacld-3.0 propagation
Take action to delete peer in NDP_END Indication, rather than
NDP_END Response event from firmware. Earlier, device initiating
NDP_END will only get NDP_END_Response event from firmware, but
that behavior is changed now and both self and peer device will get
NDP_END_indication with peer map for ndp end.
Change-Id: I7316cc3864052eef4c7bbe9bbac01f0333909c59
CRs-Fixed: 962367
In current driver, there is already an API called cds_allow_concurrency
which is functionally similar to csr_isconcurrentsession_valid. Remove old
API csr_isconcurrentsession_valid to have single API.
Change-Id: If81900af5cb7291917fe915b44af5cf763f16d46
CRs-Fixed: 1047054
Remove the usage of typedef for oem data request and oem
data response data structure.
Change-Id: I94f05833baa9b6baaf2272f63a33236437a96bbf
CRs-Fixed: 1038872
Remove oem data rsp passing over multiple layers.
This change set sends the OEM data response directly to
SME from WMA instead of going through LIM/MLM.
Change-Id: I3cff10ff7bdbcee39b39bd9ba03b5eff8444b017
CRs-Fixed: 1038872
Remove oem data request passing over multiple layers.
This change set sends the OEM data request directly from
SME to WMA instead of going through LIM/MLM.
Change-Id: I151fa771544e9f74b1b69b18d689176752760621
CRs-Fixed: 1038872
qcacld-2.0 to qcacld-3.0 propagation
Fix uninitialized stack use in csrRoamReadTSF by initializing
variable of struct type tCsrNeighborRoamBSSInfo to zero.
Git-commit: d39cf92e69222e03f89238313f5b8c100ecd4ecc
Change-Id: I4211b41b5e30d414e45691a5bab4048587cc8499
CRs-Fixed: 1018486
qcacld-2.0 to qcacld-3.0 propagation
When STA process Neighbor report from AP, session_id is declared
as one byte variable and its overwritten with four bytes value
in csrRoamGetSessionIdFromBSSID. This is observed on enabling stack
protection in kernel config(CONFIG_CC_STACKPROTECTOR).
Fix is to declare session_id as four bytes variable.
Git-commit: 96646d1eb48c4f3bf45555b8f636f90cf925b8b8
Change-Id: I6b2fd40a5466fe5dd72d394abb682229a550e0b1
CRs-Fixed: 1025272
Propagation from qcacld-2.0 to qcacld-3.0
- Current length of bpf is not set during the reset filter. set offload
is allocated through malloc, so invalid values for current_length
are recieved during reset. Memset set_bpfload to zero after
allocation.
- update the bpf service to hdd correctly depending on the
wmi service bitmap recieved from the firmware.
Change-Id: Iaf4774865cf0698a2deebac5cea62c873146e838
CRs-Fixed: 985562
In function csr_update_lost_link1_cmd, memory is allocated to
local variable struct scan_filter, further we passing this
variable to csr_roam_prepare_filter_from_profile function and
allocating memory to the members of the scan_filter. At some
point in the function we are returning without freeing memory
allocated to scan_filter, which causes memory leak.
Make sure to free scan_filter’s memory before returning.
Change-Id: I448cf0d4bb16d4769b50c96495038684909e0739
CRs-Fixed: 1048116
New flavor of OS is sending bssid along with STA connect command. When
connect command comes with bssids then don't allow Preferred channel
list algorithm as it won't be of any use and skipping the algorithm will
improve initial scan time.
Add log to inform whether BSSID hint is given by upper layer.
Change-Id: I9c1f41a0e00f9b2afc19629558b93a2482da6581
CRs-Fixed: 1047052
Configure multicast filters for the nan data interface.
Request to configure multicast filters is not honored for the
NAN data interface in the current implementation.
Integration from qcacld-2.0 to qcacld-3.0.
CRs-Fixed: 1046519
Change-Id: I48a4a30fd9f6369fe398254184d0016a35c0a6b3
As part of "load once unload never" architecture, cds modules can
be opened and closed several times. Refactor the hdd callback registration/
de-registration into hdd_register_cb/hdd_deregister_cb which can
be invoked during the open/close of the modules respectively.
Change-Id: I2da9018ff2fa6188e61e007c896bc13e8fddcb7d
CRs-Fixed: 1026817
In csr_roam_join_handle_profile variable ies_local is populated if input
argument result is not NULL. We cannot proceed to with roaming if IE parsing
fails, so abort roaming if input argument "result" passed to function
csr_roam_join_handle_profile is NULL.
Change-Id: I52c35a44598028115c48aff7827f3fc90bd48cb1
CRs-Fixed: 1038237
This is qcacld-2.0 to qcacld-3.0 propagation
The BSS transition request is handled by the supplicant.
The supplicant upon receiving the request will issue a
connect request to the driver with a hint of prev_bssid
telling the driver to perform a re-association.
Use this hint in the driver and initiate a re-association.
While doing the re-association, there is no need to do a
scan if the target AP is already present in the scan cache.
Optimize the re-association code to not do a scan if not
necessary in this particular case.
Change-Id: Idf1a7058009a8d2082bc1742dca1364cf59c405b
CRs-Fixed: 1010596
In function csr_roam_join_handle_profile, add NULL pointer check for
"result" after call to csr_roam_select_bss rather than before
csr_roam_join_handle_profile, since it is called for BSS role as well.
Change-Id: I800891fd66d5c851537968515e43eadbe38a2ae8
CRs-Fixed: 1038237
Add NULL pointer check for "result" after call to csr_roam_select_bss.
This function can return a NULL value for variable "result", which is
later dereference in the function csr_roam_join_handle_profile.
Change-Id: I5e1f017de49301a14b899692b888f7694e979bf1
CRs-Fixed: 1027725
qcacld-2.0 to qcacld-3.0 propagation.
oem data request len size should be of 4 byte instead of
1 byte.
Add changes to correct len size in oem data structure across the
layers.
Change-Id: I9b377420c50ff1160964f94be5eaa0072df0f63d
CRs-Fixed: 1013488
The chain mask in policy manager connection table needs to be updated
with the capability that HW advertises at load time intersected with
related ini configuration on host. The dynamic change of the chain
mask & NSS values will be handled only by chain mask manager in
firmware.
Change-Id: I250668c93920a63c9278aefe93491cb5aaa91ca7
CRs-Fixed: 1037816
Buffer overflow condition is not validated correctly in function
sme_update_tdls_peer_state(). This may result in erratic program
behavior.
Add buffer over flow validation to avoid memory access errors,
incorrect results, a crash, or a breach of system security.
Change-Id: I793bd056b32924b484ce7cb264b22c74c8c4cca4
CRs-Fixed: 1035656
Add support for WMI POWER DEBUG command to control mac_core power features
for run time debugging.
Change-Id: I77ad747843cae31de1705b7ce8fa80e18c9ca53e
CRs-Fixed: 1007598
PNO kernel debug logs are too frequent.
Reduced the log level of PNO messages from error to info
Change-Id: I27166f542889e0d5071ae8c558e0227c51064c5f
CRs-Fixed: 1022820
This is qcacld-2.0 to qcacld-3.0 propagation.
Add NDP reason codes in deferred response sent for NDP commands so that
failure during processing of NDP cmds can be notified to service layer.
Change-Id: I731b520fde226c351464d94033a1ced2888a4d18
CRs-Fixed: 962367
This is qcacld-2.0 to qcacld-3.0 propagation
Free up memory allocated for NDP SME commands at sme_close, so that in
the event of unload while NDP command response was awaited, resources
can be freed.
Change-Id: I287ad77cbdca4b816f38bea436173b88e6eafc93
CRs-Fixed: 962367
qcacld-2.0 to qcacld-3.0 propagation
Firmware sends an array of:
{ndp instance id, vdev id, active ndp num, peer mac address}
for the NDP instances that are to be terminated.
Host driver deletes the peers that have 0 active ndp instances and
sends the entire list of ndp instance id's to the service layer.
Change-Id: I325843ce7fb8198466cb66ce66710cef999d4581
CRs-Fixed: 962367
This is qcacld-2.0 to qcacld-3.0 propagation.
Add implementation of NAN Data End request.
Change-Id: Iddd22a83b0763dab2e7398f4d2cf5b9ada58225a
CRs-Fixed: 962367