Fix the way DBS capability is read from FW dev cap. Also, add HW mode
request for 2x2 DBS.
Change-Id: I935a2d0f4a7eed1517a3263fb8b29838f135f91e
CRs-Fixed: 1068000
Currently, bus bw timer is defined globally and it access the
adapter nodes.The crash can happen when the adapter is getting
deregistered in one thread and in another thread bus bw timer
handler is trying to access the same adapter.
To mitigate this issue, bus bw timer needs to directly registered
with kernel and once the timer callback is executed then it needs
to schedule a workqueue where all the processing is done.
While closing the adapter, do flush_work for this timer to
make sure that workqueue is done and then it is closing the adapter.
CRs-Fixed: 1104615
Change-Id: I81a7bfa43e3fb43488966dda702c6f394f9b40c7
Over time some checkpatch errors have crept into the HDD code, so
fix the issues that should be fixed.
Change-Id: I9287a724b856bcc62ac284ba66e68cdf12077646
CRs-Fixed: 1102140
Adapter can be NULL and accessing it result in crash
Remove NULL check for adapter to avoid crash
CRs-Fixed: 1094603
Change-Id: I1c7efdfeb7829640cef740f873cb367befd810c9
Fix the compilation error: '%llx' expects argument of type 'long long
unsigned int', but argument 4 has type 'qdf_dma_addr_t' [-Werror=format=]
Change-Id: Iccb24e7da2c665c43b7ea8c03d3a00866935658f
CRs-fixed: 1102676
Enable TSO only if both gEnableIpTcpUdpChecksumOffload and TSOEnable=1
flags are enabled in the ini file.
Change-Id: I8004c381be06fd85883e9537038d32622a7e39dc
CRs-Fixed: 1099742
There is a regulatory requirement for Specific Absorption
Rate (SAR) whereby the phone transmit power is reduced
when it is determined that the phone is in close
proximity to the body.
Implement a vendor command interface to set SAR power
limits dynamically.
Change-Id: I137ce9bde2fa05e363d5af17e155dc739d862c5f
CRs-Fixed: 1098102
Currently, on channel switch, driver is updating only channel switch
not updating the BSS database of cfg80211.
For channel switch, update the BSS with inform_bss
Change-Id: If68b8c5ee7ab5b793a819a609ce5eeb022df75b8
CRs-Fixed: 1099452
lim_update_sta_ds can free the assoc_req internally and make it NULL
but as its passed by value the modified NULL value is not seen in the
caller lim_process_assoc_req_frame and thus double free is seen.
To fix this pass assoc_req by context to the lim_update_sta_ds.
Change-Id: If4255e3096f91debf2a23688d4dd36ba90475d1b
CRs-Fixed: 1100562
In LFR3, for ccx scenario TSPEC IE are missing in
reassociation request frames initiated by FW.
Assoc IE are sent to FW via CSR Roam Scan Offload as
soon as connection is successful. Add the TSPEC IE
while sending assoc IE to FW via RSO command.
Change-Id: Ifa6145bfa209cca428321db9056c01c3a4b140de
CRs-Fixed: 1096199
Change the timeout values at HDD to match sme cmd timeout in all the
instances where HDD is sending cmd via SME command queue.
Change-Id: I00337169804b9ce71562cb114e4c2b92a7534dba
Crs-Fixed: 1100854
Host doesnt have changes to support specific BSSID vendor scan
if supplicant set specific BSSID.
Add changes to get BSSID to do specific scan if supplicant set BSSID.
Change-Id: I2b0ba590814e6c99f7003abdf855d3264b03a060
CRs-Fixed: 1099020
Presently, tx/rx histogram stats are initialized during hdd create
context, but de-initialization of histogram stats is not processed
during hdd destroy context.
De-initialize histogram stats while processing hdd destroy context.
Change-Id: Id2eff48838d34e99dfa3dd5713bca2cd5a2c774e
CRs-Fixed: 1094115
Current implementation of host driver will support fast roaming only
on a single device even in DBS mode. It is allowed on the first
STA, i.e. wlan device created in driver initialization. Dynamic roaming
disable/enable is allowed only on that device. Roaming is marked as not
allowed on other devices.
Change-Id: I3e3a72eb4d8fe81f6d3b784ab70023d2e3ac5618
CRs-Fixed: 1092386
Set the default value of adaptive_dwell_mode_enabled and
global_adapt_dwelltime_mode config parameters to enable
adaptive dwell scan by default.
Change-Id: I4353f9a9c2bdebb48649cee4a7b7a8d124039e1b
CRs-Fixed: 1100193
Current implementation doesn't have diag events for SCAN_COMPLETE and
SCAN_RESULT_FOUND.
Fix to add SCAN_COMPLETE and SCAN_RESULT_FOUND diag events in PE
Change-Id: I8f3526eac5e1c323f62b0a4cff329db2dd8ef6b8
CRs-Fixed: 1096548
In a corner case the interface change timer is not getting stopped.
One such case can be:
1) Framework issues add interface command for softap
2) Turns off the wifi sta which check for any interface is opened
and if no interface is opnened it starts the interface change timer.
3) After this hostapd is attached and tethering becomes functional.
Once the interface timer is expired it closes all modules and as part
of del_station from the upper layer it tries to access pdev_txrx_ctx
causing system crash.
So, as part of the hostapd attach check for driver state machine and
also stop the interface timer if it is expired.
CRs-Fixed: 1094440
Change-Id: Ic973d53f09d901ead4fd0921cf3a593728e09c56
In the present scenario driver checks for eTDLS_SUPPORT_DISABLED
before enabling the connection tracker for tdls mode. But if the
tdls is disabled from the ini or disabled in the firmware eTDLS_SUPPORT_NOT_ENABLED
is set in the tdls_mode. Checking for only eTDLS_SUPPORT_DISABLED is resulting
in enabling the connection tracker which tries to access the tdls_ctx
which is NULL.
To mitigate the issue also check for eTDLS_SUPPORT_NOT_ENABLED in the tdls_mode
before enabling the connection tracker.
CRs-Fixed: 1096830
Change-Id: I1e13af6b63aa058c19117efa99563540aa02da0b
API cds_flush_cache_rx_queue() is added as part of propagation
from qcacld-2.0. This function does not belong in CDS but
instead belongs in TXRX because corresponding function in
qcacld-2.0 is tl_shim_flush_cache_rx_queue() which is a datapath
function.
CRs-Fixed: 1106306
Change-Id: I6ca10fa9ebb7ad7cdc0b54ff7ed2cc0595b7d82d
Currently the HDD code uses a variety of logging APIs. In qcacld-3.0
HDD should converge on a unified set of logging APIs. Update
wlan_hdd_cfg.c to use the unified set of APIs.
Change-Id: I5d55481198e5b0807afb40a3f7e3962aeb8d728a
CRs-Fixed: 937645
Currently in wlan_hdd_tx_rx.c there are several calls to the legacy
hddLog() logging API. There are several problems with this.
1) hddLog() is being deprecated.
2) hddLog() internally uses QDF_MODULE_ID_HDD and yet this file should
only use QDF_MODULE_ID_HDD for the control plane and should use
QDF_MODULE_ID_HDD_DATA for data plane.
To fix these issue replace the hddLog() calls with direct calls to
either QDF_TRACE(QDF_MODULE_ID_HDD_DATA, ...) or to the recently
introduced unified logging APIs depending upon whether they are
invoked from the control or data plane.
Change-Id: Ib214cbba33504c26e5c9321bebc699b1468964a5
CRs-Fixed: 1097425
Currently in wlan_hdd_softap_tx_rx.c there are several calls to the
legacy hddLog() logging API. There are several problems with this.
1) hddLog() is being deprecated.
2) hddLog() internally uses QDF_MODULE_ID_HDD and yet this file should
only use QDF_MODULE_ID_HDD for the control plane and should use
QDF_MODULE_ID_HDD_SAP_DATA for data plane.
To fix these issue replace the hddLog() calls with direct calls to
either QDF_TRACE(QDF_MODULE_ID_HDD_SAP_DATA, ...) or to the recently
introduced unified logging APIs depending upon whether they are
invoked from the control or data plane.
Change-Id: I9ca8b73fed8cd55ba7d2b587e3d513670eb4c64c
CRs-Fixed: 1097418
Propagate from qcacld-2.0 to qcacld-3.0
This change add the corresponding support for QCA9379 which has new chip ID.
Change-Id: I252b75d9ae7b760a6a8f6931b4db753f50d3baba
CRs-Fixed: 990755
qcacld-2.0 to qcacld-3.0 propagation
During the WFA WME test, the ParamSetCount in beacon
IE is mismatch with the value in ASSOC response.
The root cause is the value will be updated when
station gets connected no matter the WME parameter
changing or not.
The fix is to avoid updating the ParamSetCount count
when there is no change in the WME parameters.
Change-Id: Ied4cb68c6bbf210084bc3f94607354f2054f7fc0
CRs-Fixed: 1080760
Propagate from qcacld-2.0 to qcacld-3.0
Host send WoW pulse setting information to firmware and allow
firmware to use this pulse to wake host
Change-Id: I632b3e85a8e113b8b8d4c927e822dce53f1b6727
CRs-Fixed: 924672
Memory leak in csr_roam_synch_callback due to not
freeing memory allocated using
csr_get_parsed_bss_description_ies.
Free the memory in function csr_roam_synch_callback.
Change-Id: Iab8454850eabe029df4a3e0d868ca461686ed72f
CRs-Fixed: 1098966
All instances of the hddLog() macro have been replaced with a new set
of HDD logging APIs. Remove the hddLog() macro, along with all
instances of the HDD_DISALLOW_LEGACY_HDDLOG guard macro.
Change-Id: Ia755c5f68725fa8d75ad73e61cfa350e2743a623
CRs-Fixed: 937171
In failure scenario host got two commands, one is connect
request on the STA interface and the second one is add
interface/open session on softAP interface.
HDD/SAP queues the eSmeCommandRoam first to
the SME active list and then eSmeCommandAddStaSession to
sme pending list with timeout value of 2 secs at SAP.
Connect takes more than 2 secs due to which addStaSession
gets timedout.
Configure SME active timeout value to 30sec.
Increase the wait time at SAP for open session to 30secs
which is equal to the SME active command timeout value.
Change-Id: I77a0279421566ded7cd0eb7cde7871d3074ec5cf
CRs-Fixed: 1096771
SAP module dubug message log contains QDF
module id.
Replace cds_err API with QDF_TRACE API to
log the correct module id in debug messages.
Change-Id: Ib39a95cd0688d6029c802c4710127a4c72ae6411
CRs-Fixed: 1098145
Diagnostic event LOG_WLAN_LINKLAYER_STAT_C is not supported by the
current driver, so remove all of the associated data structures.
Change-Id: Ief112fd0995946e98d2be3ac4c623af741e70528
CRs-Fixed: 1071955
Previously "qcacld-3.0: Fix HDD logging API in wlan_hdd_p2p" fixed all
instances of legacy logging APIs in wlan_hdd_p2p.c. Unfortunately
since that time new instances of legacy logging APIs were added. Fix
those instances, and enable the compiler macro which will prevent new
instances from being added in the future.
Change-Id: Iaf9dc9a11943ec918a51aa8c9b97a5a49fad535b
CRs-Fixed: 1097439
qcacld-2.0 to qcacld-3.0 propagation
In certain situation, allocated Tx buffer count could be an arbitrary
number, so not power of two. This could violate F/W ring buffer count
requirement. If allocated Tx buffer count is not power of two, round
down it to the nearest power of two.
The same change is also applicable for INI parameters IpaUcTxBufCount
and IpaUcRxIndRingCount.
Change-Id: I7c119886a669c79adbc7bd9b2c1c1d93de41cf72
CRs-Fixed: 973723
Defined function using static, which are not defined
prototypes. After the enable compiler support to
missing prototypes, it leads to compilation issue.
Change-Id: I4141ecc3ac1005cbf915600ff0b56f43eeaa651d
CRs-Fixed: 1097164
Currently the HDD code uses a variety of logging APIs. In qcacld-3.0
HDD should converge on a unified set of logging APIs. Update
wlan_hdd_conc_ut.c to use the unified set of APIs.
Change-Id: I7aae78754ba46907b37e455092e84b2e1b663565
CRs-Fixed: 1097457
Currently the HDD code uses a variety of logging APIs. In qcacld-3.0
HDD should converge on a unified set of logging APIs. Update
wlan_hdd_ipa.c to use the unified set of APIs.
Change-Id: I27f74d7a98d1fb4806a524a95805525d9fc08d8b
CRs-Fixed: 1097452
While WLAN module closed, there is a race condition and CDS scheduler
could not be closed before CDS context closure.
This could cause a crash by acessing NULL cds context while the last
WLAN_CLIENT_DISCONNECT event processing.
Fix to check the CDS context before processing the last disconenct
event.
Change-Id: I9aba4659ec6ea682697f342d9c92e09d8f2f90e8
CRs-Fixed: 1096347
propagation from qcacld-2.0 to qcacld-3.0
AP+AP case, one is started, another one start fails and its channel
list buffer is NULL. When radar signal found, it will change channel
with second sap's context, then crashed since channel list is NULL.
Change-Id: I73f2c1c2fa0667e7517e2a6867d79175c47d4582
CRs-Fixed: 1091122
Add null check while accessing pdev and hif pointers from cds_get_context
API in OL layer.
CRs-Fixed: 1096535
Change-Id: I2e3e7e04f1dcc9248fe173b7cdfc8d8704d0d1d9
CNSS2 platform driver is the only driver which will support PCIe
bus based discrete WLAN chipsets.
Change-Id: If2d3aded36d383e2e4b0dc4ec9e6ab9e1023f2a9
CRs-fixed: 1082183
MCL driver interactions with mgmt txrx component in init deinit
of driver. Also, changes to make legacy path to go through mgmt
txrx component for both tx and rx mgmt. frames.
Change-Id: Icf368358fef3b9204bed5195a2502b0ea5f052d8
CRs-Fixed: 1103247