In FTM mode pdev is getting created twice due to
two service ready events from the firmware beacause
of module stop and start.
Add logic to reuse the psoc/pdev for module stop and start.
Change-Id: Ib5a92020c3c01ccfa699167eef8d7a633a27db13
CRs-Fixed: 2029041
QXDM log shows HDD IPA packet dump from all the packets through
Rx exception path. Change the packet dump only for DATAPATH module
in debug level.
Fix compilation error when IPA_OFFLOAD not defined.
Change-Id: I2761c78bbe3e59e7d956d0e3df628d22e9bbe610
CRs-Fixed: 1102003
If the TDLS links exists and SAP comes up, there is a chance
that the peer is created for SAP before deleting TDLS peers,
thus leading to crash.
The fix is to teardown the TDLS links before starting hostapd
or starting the association process to avoid TDLS in concurrency
case.
Change-Id: I06c0d4f8965d3a1e614e8bd89f2d6af0a504fa9e
CRs-Fixed: 2027831
There is a comparison between constant and boolean inside
update cds config api which will always fail.
To address this issue change the type of variable from boolean to
uint8_t.
Change-Id: I7ba4d9fedd148d713af334b394757da2a496f5a5
CRs-Fixed: 2027402
The dump_tx_desc function is called to report the number of freed and used
tx descriptors when a suspend is rejected by data path. The debug code
was directly referencing a data field whereas the code to check the freed
and used descriptors used a function that reports a different number under
certain compilation flags. Use the function in the debug statement such that
the value checked is the value printed.
Change-Id: Iad3f519dc88319c7a421f77376dd43e15e6eaf09
CRs-Fixed: 1113880
Several constants in rrm_global.h use logical || where a bitwise | was
probably intended. clang warns about this.
Hence, use bitwise operator instead of logical operator.
Change-Id: I5a0543096e7f213f3d60f3eda03eb7765595a364
CRs-Fixed: 2028989
In Napier emulation, due to the FPGA slowness and the need from
firmware side to live debug issues during driver load, increase
driver probe timeout accordingly.
Change-Id: I7e435082cebabe9ec6d15dc5c11a73b7db84f19b
CRs-fixed: 2028294
In FTM mode con mode change handler does module stop
after holding SSR protect and module stop bails
out assuming its idle mode module stop. Make sure to
do module stop properly for FTM mode even if SSR
protect lock is taken by con mode change handler.
Change-Id: I5d2d7006bb9f4897a5dd22893cdf6a7a864de97b
CRs-Fixed: 2027020
During driver recovery, following a crash in firmware, there is a
chance to get stuck waiting for the MC thread to exit after it has
already done so. This is due to an external thread being active in the
driver when it should not be possible. Improve logging in such cases
to find out which thread is running, and skip waiting for MC thread
shutdown if it is already stopped to prevent getting hung.
Change-Id: I53ddc3afb8561ecd2d6b708b6488c503068c49a6
CRs-Fixed: 2027020
When flow pool is created, pool status is set to FLOW_POOL_ACTIVE_UNPAUSED
irrespective of whether netif queues are paused or not.
Also, when descriptors are transferred from invalid pool to deficient pool,
pool status is not checked. So, if deficient pool is paused, then even
after receiving required descriptors from invalid pool, its status and
netif queues will still remain paused due to which traffic will not be able
to resume ever.
Sync pool status with netif queue status by:
1) Unpausing netif queues as well when pool is created.
2) If deficient pool is paused and on receiving descriptors from invalid
pool, no. of descriptors goes beyond start threshold, unpause the
queues and set the pool status to FLOW_POOL_ACTIVE_UNPAUSED.
Change-Id: I69390e40130892d218372e4a8a0ab4b0c7b94b7e
CRs-Fixed: 2025759
In case of dfs offload, do not run cac timer, as cac will also be
offloaded in that case. Decide the same based of service bit info.
Change-Id: If4dd62628270ff0ba8632a9cd644a9d7ed6f31a4
CRs-Fixed: 2021357
Add support to fill cac duration and dfs region in vdev
start command, these values are used in firmware on phyerror
processing and cac timer offload cases.
Change-Id: I8bfbd4a3f59002f92ee2e5e321c15da849fce9ec
CRs-Fixed: 2021357
There is race condition between the bus bandwidth work and cleaning up
an adapter. Under some conditions, it is possible for the bus bandwidth
work to access a paritally destroyed adapter, leading to a
use-after-free. To prevent the race condition, use the following
sequence:
1) Stop the bandwidth timer
2) Flush pending bandwidth work
3) Cleanup the adapter
4) Restart the bandwidth timer, if needed
Change-Id: I7166e75e65433d2dcb818ff8b41fe959c510a2e9
CRs-Fixed: 2025184
While implementing the fix for "qcacld-3.0: Fix wlan_hdd_driver_ops
kernel-doc" it was observed that the kernel-doc for functions
wlan_hdd_bus_suspend() and wlan_hdd_bus_resume() did not match the
function signatures. Update the kernel-doc to match the actual code,
and in the case of wlan_hdd_bus_suspend() update one call in
hdd_enable_ext_wow() to align with the real interface instead of the
previously documented interface.
Change-Id: I6f25c954f5328a029fadeceadc23cfc242de6bf7
CRs-Fixed: 2025169
Currently not all of the wlan_hdd_driver_ops public APIs have their
documentation in the interface (header) file. Update the files so that
the public interface, not the implementation, is documented.
Change-Id: I68a809c9bc2a844232a0f5d07086f924f8ce1ace
CRs-Fixed: 2024274
The kernel checkpatch script has detected some issues in
wlan_hdd_driver_ops.h and wlan_hdd_driver_ops.c, so fix them.
Change-Id: I1b08d9dd5147eeebeba2f545d7530bdff6867a5e
CRs-Fixed: 2024274
When DUT receives roam sync ind, addts and delts commands
needs to be removed as part of csr_roam_sync_callback,
Otherwise these commands will be active SME commands forever
as PE wont send resp as older PE session is deleted as part
of RSI indication.
Fix is to remove addts and delts command on roam sync ind.
Change-Id: I1df8416a76dff3899c146823bec04595877788f7
CRs-Fixed: 2023723
This is a qcacld-2.0 to qcacld-3.0 propagation.
Don't access user space memory directly in
drv_cmd_get_ibss_peer_info_all.
Change-Id: I36a706e2e91d1ed2a43897ac2eef9d81b2de7335
CRs-Fixed: 2022841
This is a qcacld-2.0 to qcacld-3.0 propagation.
Fix the variable uninitialized compile error.
Change-Id: I941d76a75a52b4cc6bd3de831b04f960f506f802
CRs-Fixed: 2022835
For some of the configurations, the default is not one of the
in-range values because we want to detect if the value has been
set or not.
Hence, do the range check when a value is present in the cfg.ini.
Change-Id: I4db722ed5053e2248dc23c7417d192fe6093ee46
CRs-Fixed: 2014145
This is a qcacld-2.0 to qcacld-3.0 propagation.
Firmware currently sets the default access category to ARP packets
as voice traffic id and host does not have a way to override this.
As a part of this change, add the cfg.ini support to override this
default access category.
Change-Id: I268cb9c0254d14f143615790c570ac5a255b359d
CRs-Fixed: 1111993
This is a qcacld-2.0 to qcacld-3.0 propagation.
The counter is incremented and logged for each -EBUSY and reset when
scan request is successfully accepted.
It should help us debug cases where the recovery timeout logic
isn't working well or is too slow to react.
Change-Id: I9dd4384cec2a6aefb56e97c1d871c2d2a4819bf6
CRs-Fixed: 1113120
qcacld-2.0 to qcacld-3.0 propagation.
Two threads accessing the procfs entry might end up in race condition and
lead to use-after-free for hdd_ctx->driver_dump_mem.
Hence, acquire a lock to protect hdd_ctx.
Change-Id: If871f4ceadf650978e16b4a336f688a0dae1c494
CRs-Fixed: 2005832
psoc is allocated during start module and destroy in stop modules.
due to this if psoc is used after stop modules it cause crash.
psoc should be the first thing to get allocated and last thing
to get destroyed.
Fix it by calling psoc destroy at the ned of the wlan exit and
allocating in wlan start.
Change-Id: I969a5688751ddfad9ab9c3152e6af0680d2be605
CRs-Fixed: 2027351
Add support to update HE MCS. lim_populate_he_mcs_set() is added to
take care of populating the rates and MCS values.
Change-Id: I12c0ab95cc566c906f1707010dfb2ef3ec4fa681
CRs-Fixed: 1073481
when wlan_mac.bin doesn’t end with ‘\0’,
get_next_line() can access the unexpected area.
Fix this by adding 0 to the end of the buffer.
Change-Id: I01971aa5ad9679338a19e837f73969367d5b08f8
CRs-Fixed: 2026925
Currently the feature flag is enabled at a wrong place since CDEFINES
will be reset later. Move it to the correct place in order to compile
the feature by default. To enable this feature, the corresponding ini
configs need to be set properly.
Change-Id: I22e3c3ac7c81c12700bfa6bb78cc84c20e3e331f
CRs-fixed: 2023358
During p2p negotiation/invitation if the TX status for the actions frames
are reported success when they actually failed, the supplicant will
not retransmit the failed frames. It will move on to the next action
frame in the protocol. This would lead to GO Negotiation failure.
CRs-Fixed: 1112657
Change-Id: I9b462524793d8ced5ae86de75e085458070e6513
Update correct check while unpacking PPE threshold. Incorrect
placement of parentheses may lead to unexpected behavor.
Change-Id: If1af2ab7a0601e4a25183cb8fbaf0dfd99e9bf58
CRs-Fixed: 1073481