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
Update HE ops correctly in vdev start request. Currently the update
is done in a local copy and is not updating the vdev start request.
Fix is to copy the local he ops value into vdev start request.
Change-Id: Ife5b40a8df3d6a47c2f170efdb7aae009bb8be95
CRs-Fixed: 1073481
Decrement the peer ref cnt incremented while getting peer through
wlan_objmgr_get_peer() to pass it to wlan_mgmt_txrx_mgmt_frame_tx().
Change-Id: I2791075d63610d76fa1c70d3efe76df2b2618b01
CRs-Fixed: 2025052
TDLS mutex is not unlocked properly in few error instances.
Thus, the thread gets stuck.
The fix is to unlock mutex properly before returning.
Change-Id: Ic16015e568dd91af17b3bb1ba9b19722cb0f82d9
CRs-Fixed: 2026737
Add a HDD callback to get the type of a non connected vdev
needed by policy manager.
Change-Id: I9e0666217f7f4fef3d754534a83295f5e47b0ab9
CRs-Fixed: 2009818