Add null check for pdev after cds_get_context, while
retrieving the context maintained by CDS
Change-Id: I2d6de7d5ad2a46139b2594cf966f2c083c9bb4b4
CRs-Fixed: 2187396
During init and deinit, the driver performs memdymp_init and
memdump_deinit. These are not done for the case when driver is in
FTM mode. In the present scenario, unloading the driver while in
FTM mode and then reloading causes problem.
Allow memdump_init and memdump_deinit to occur while the driver is
in FTM mode.
Change-Id: I4bed1bf76ee19612da9c27fe6cebb586ef7e542b
CRs-Fixed: 2170695
IPA Rx suspend command could be timed out because IPA Tx pipe stalls
due to FW WDI Tx pipe is already suspended beforehand.
Fix this by sending IPA Tx pipe suspend before FW WDI suspend.
Change-Id: I50c357ca0f8ddfcc1a51ad4ed040961daf052459
CRs-Fixed: 2177445
Do not connect in HE mode if the AP does not support LDPC with more
than 20M bandwidth or in 20M if it advertise the MCS11 support.
Connect in 11ac/11n mode if the LDPC check fails.
Change-Id: I8cf9bb30fd897fe4016585cb79a38fbdc78c06fd
CRs-Fixed: 2181259
PANIC_ON_BUG is currently enabled for all WLAN builds. While a customer
can, and should, disable PANIC_ON_BUG for end user builds, this can be
easily overlooked. Disable PANIC_ON_BUG by default on pure performance
builds, to avoid accidentally crashing end user devices. Customers can
opt-in to PANIC_ON_BUG as needed for validation on performance builds.
Change-Id: I79371206b20b978f4e61954c2f49bbb7b07ba95e
CRs-Fixed: 2186099
The Make variable $(M) must point to the directory that contains the
module source code (which includes this Makefile). It can either be an
absolute or a relative path. If it is a relative path, then it must be
relative to the kernel source directory (KERNEL_SRC). An absolute path
can be obtained very easily through $(shell pwd). Generating a path
relative to KERNEL_SRC is difficult and we accept some outside help by
letting the caller override the variable $(M). Allowing a relative path
for $(M) enables us to have the build system put output/object files
(.o, .ko.) into a directory different from the module source directory.
Change-Id: Ic5dbcaa4579e4b7fe8b01399e03293c3bd425d27
CRs-Fixed: 2182672
hdd_softap_hard_start_xmit has cds_ssr_protect so prevent it running at
point of cds_wait_for_external_threads_completion in wlan_hdd_remove,
but after that hdd_softap_hard_start_xmit still inject in, it will
cause race condition between tx and unloading deinit.
Fix it by checking driver load/unload status at the beginning of
__hdd_softap_hard_start_xmit, and similar change for sta mode.
Change-Id: Ic3c72debb81fdfb8adca4e90bd9436f3a68eea11
CRs-Fixed: 2174243
In STA+SAP concurrency, when the STA connection is in progress or set_key
is in progress, the set_hw_mode command to SME is queued and would be
processed only after the connection is complete. Meanwhile, when a stop
SAP is received and SAP Dissassociate STA is triggered from HDD, the
command is queued in SME and cannot be processed until STA connection
is done. The add_key command from the supplicant is also stuck as the
previous stop_ap command is in progress leading to a deadlock. When the
AP sends deauth to the STA due to 4 Way Handshake failure, the STA is
reset and then the stop SAP command proceeds, followed by another
connection for the STA.
Disconnect STA interface first if connection or key exchange is in progress
and then stop SAP interface to prevent this deadlock condition.
Change-Id: I23ad1fc96882abeaae2d1b051659ea6d24b07428
CRs-Fixed: 2187070
p2p component has no 11w mgmt protection
information for tx frame.
Add LIM callback to register to p2p
module, to provide mgmt protection information.
Change-Id: Ibdb26d2ebbf51c191258c163cd45290ee5d4fccf
CRs-Fixed: 2172228
FW assert is observed when deleting VDEV due to there are peers
not deleted.
Add check for peer number in FW before sending delete VDEV
command to avoid such issue.
Change-Id: I4cc5d4c63faf3dc8f7b9d0702f92b54b298802cb
CRs-Fixed: 2163770
Currently we fail channel switch if new channel matches old channel. So it
dosnot take into account of mode switches HT20/HT40/VHT80.
So process channel switch request if either channel or mode is different.
Change-Id: I8743a6292277daad8b1bf38b79c236f19fbac700
CRs-Fixed: 2186212
Move wma_get_buf_start_scan_cmd logic to common code in
ucfg_scan_update_params.
Change-Id: Iaee8ab5b7f0c20867bf37db7509b1c1fab23579d
CRs-Fixed: 2180959
STA peer can be cleared from peer detach and HDD. If the
peer is cleared by peer detach, then return success to
HDD request.
Change-Id: I7aa564e7f2a1c9ce336ae96679d93a6e11703c37
CRs-Fixed: 2181163
When wiphy is registered with kernel, the kernel call the regulatory
notifier with the last request cached by the kernel. The last request
is initialized to world mode. So for the first time registration,
ignore the kernel callback.
Change-Id: I8c6070eebac4c04145e51daaecb7745f331f58b1
CRs-Fixed: 2174245
Currently driver created reg database instead of
db.txt for reg no-offload case.
Change-Id: Ia7853679532ad7536d34b4a4040feffb8566e907
CRs-Fixed: 2174245
The TX buffers in the vdev->ll_pause pending queue, which haven't mapped
the physical address.
Adding nbuf physical address checking to avoid the mis-matching unmap
especially when the MEMORY_DEBUG is enabled.
Change-Id: I6b0fcd1c7d07ca358d07b9931dea321ee8c6169a
CRs-Fixed: 2183678
qcacld-2.0 to qcacld-3.0 propagation
Currently driver sends beacon report for each channel recursively
in beacon table mode. There is a chance that variables on stack
can exceed allocated stack size which can lead to corruption of
stack. Remove unnecessary variables which are not required for
beacon table mode to fix this issue.
Change-Id: I9aa35e7da916f5d4c6380862d292b44c254c9334
CRs-Fixed: 2184037
As part of convergence the mode capabilities
are extracted and saved in the target info structure.
Update the hardware mode list and pcl from the converged
structures.
CRs-Fixed: 2179003
Change-Id: I3cfc28533448c312913db3bead5d5322386f3f74
When channel list contains all channels from channel 1 to channel
165 and ch width is 80MHz, the channel to be selected as part of
ACS algorithm should be a 5GHz channel as 2.4GHz channels does not
support 80MHz but 2.4GHz channel gets selected with channel
width as 40MHz. Similarly when ch width is 160Mhz, the 160Mhz bonding
can be made only by 36-64 and 100-128 channels but 2.4Ghz channel or
some other 5Ghz channel gets selected as a result of ACS algorithm.
Assign max weight to all the 2.4GHz channels in 80Mhz and to all 2.4 Ghz
channels and 5Ghz channels not in the range 36-64 and 100-128 in 160 Mhz
so that only a valid channel is selected after the ACS algorithm is
completed.
Change-Id: I00c40e5d000a1cf8b79397fd4e361838a60b363d
CRs-Fixed: 2182011
Remove panic after peer_delete timeout and fail corresponding peer
operation. Peer reference count can be taken by kworker thread which
may get pre-empted by other higher priority threads or stuck, leading
to delay in releasing reference. This delay cannot be completely
removed, hence rather than panic after timeout, enhance logging and
fail corresponding peer operation.
Change-Id: I42c379c0cf91d29d293c3c53c3a378421aef07f9
CRs-Fixed: 2181097