qcacld-2.0 to qcacld-3.0 propagation
When AP is configured with MCS index less than 4(43Mbps) then Host
reports invalid MCS Index to upper-layer, leading to display invalid
link speed on GUI.
Updating MCS index with valid value and thereby updating correct MCS
index to upper-layer
Change-Id: Ibd1503be3825c879b7fa52bdfb6ff07423c39023
CRs-Fixed: 855022
qcacld-2.0 to qcacld-3.0 propagation
While allocating memory if zero is passed as argument then kernel will
return address ZERO_SIZE_PTR(0x10) leading to pass NULL check, which is
usually done after every memory allocation. Hence when zero is passed to
allocate memory then return NULL without calling kmalloc.
While initializing neighbor roam data structure, don't allocate memory
if neighbor roam channel list is empty.
Change-Id: I50bdb99a0cd8ccbc2d764b8ac21f66bba8a8fdc4
CRs-Fixed: 815664
qcacld-2.0 to qcacld-3.0 propagation
Kernel assumes all SET IOCTL commands are assigned with even
numbers. But in our WLAN driver, some SET IOCTLS are assigned with
odd numbers. This leads kernel fail to check, for some SET IOCTLs,
whether user has the right permission to do SET operation.
Hence, in driver, before processing SET_CHANNEL_RANGE IOCTL,
making sure user task has right permission to process the command.
Change-Id: I48bcd55bee45203667bcc679db4ad96aa9e04b7c
CRs-Fixed: 930555
qcacld-2.0 to qcacld-3.0 propagation
Updated the wma, htt modules to address the
issues reported by static code analysis.
CRs-Fixed: 933728
Change-Id: I3437f7d9a12475f4a854412d9f34f48ed7553848
qcacld-2.0 to qcacld-3.0 propagation
Misleading error logs are removed
as part of this fix
CRs-Fixed: 929840
Change-Id: Ifdc10b79359863a4f3c2009403ee5f6c7ab18110
qcacld-2.0 to qcacld-3.0 propagation
All WMI work queue should be cleared and processing stopped before
bus context destruction. This change enforces this rule.
Change-Id: I2e12f3f08424f718ec66fe257060ce13de17ee4e
CRs-Fixed: 840422
We want to process the completions in parallel.
Upper layer should take care of its own thread safety.
hif_completion_thread is a legacy function that does in
context serialization of hif completions. Bypass it.
Change-Id: I73b8518d87645d827814cd1345eb68370de30d1f
CRs-Fixed: 941358
We want to process the completions in parallel.
Upper layer should take care of its own thread safety.
hif_completion_thread is a legacy function that does in
context serialization of hif completions. Bypass it.
Change-Id: I19660327ebb4a3cbb9908ce562ab6c72a6282e95
CRs-Fixed: 941358
Propagation from qcacld-2.0 to qcacld-3.0
Updated the wma, pe module to address the issues reported by static code
analysis.
Change-Id: I8666adf161225014108c189cbcffced9450ae0c4
CRs-Fixed: 889019
qcacld-2.0 to qcacld-3.0 propagation
Free protection_fields_reset_timer in the beginning of peDeleteSession
function to avoid the null defreference caused due to the race condition
between peDeleteSession and pe_reset_protection_callback.
Change-Id: I1b83977bb3683d6dd87ec94a992ac51f39cd97db
CRs-Fixed: 815796
HIFStart is called from HTCWaitTarget in the vos_open function. If
vos_open fails later, the HIFStop is not called to cleanup what is done
in the HIFStart. This change fixes this issue.
qcacld-2.0 to qcacld-3.0 propagation
Git-commit:98808985fb6037c6f33af396aae38224f91c8b4d
Change-Id: Id30f41d953e4582db57a98fff14e3f68447239f1
CRs-Fixed: 831608
Propagation qcacld-2.0 to qcacld-3.0
Host avoid SSR injection ioctl using hdd->isLoadInProgress,
But ol_target_failure handler checks for the
cds_set_load_unload_in_progress. As these two flags are not
set back to back so there is possible time window in which
SSR ioctl is allowed but ol target failure handling is not
allowed.
Change-Id: Ib97d3693f82f6ca94fa048a8120786065e99087a
CRs-Fixed: 913741
qcacld-2.0 to qcacld-3.0 propagation
System crash happened due to accessing NULL pointer in HTCSendPkt.
so added null sanity check to prevent this scenario.
Change-Id: I4c07840eb176847c4a66efc42cd810213e1369b0
CRs-Fixed: 838998
qcacld-2.0 to qcacld-3.0 propagation
In athdiag_procfs_remove, set proc_dir to NULL after removing the
directory. This is to avoid trying to remove the directory which is
already removed.
Change-Id: I01526f4b59ccc991d157c1028d4df5904338f182
CRs-Fixed: 868965
Propagation qcacld-2.0 to qcacld-3.0
while processing ft pre auth response, if memory allocation fails
then host is not setting psavedFTPreAuthRsp to null. Later sme is
freeing same memory as freeing pMsg->bodyptr. Hence on next
disconnect, sme_FtReset try to free psavedFTPreAuthRsp which is
already free.
As a part of this fix, host ensure to set psavedFTPreAuthRsp
Null in all cases.
Change-Id: I144786cd4206bf273d2ffa63889af109cd2744dd
CRs-Fixed: 916416
qcacld-2.0 to qcacld-3.0 propagation
Implement:
1. Send & receive logic of ECSA action frame from P2P-CLI/GO
2. Trigger channel change on P2P GO side once ECSA action frame
is received by,
i) Adding CSA & ESCA IE in beacon template and updating FW to
send it out .
ii) Notifying supplicant of channel change for P2P GO.
This change include HDD changes
CRs-fixed: 895240
Change-Id: Iea66ddbbb8946443d5e701e3c14b2f33c6bb6bf8
qcacld-2.0 to qcacld-3.0 propagation.
Implement:
1. Send & receive logic of ECSA action frame from P2P-CLI/GO
2. Trigger channel change on P2P GO side once ECSA action frame
is received by,
i) Adding CSA & ESCA IE in beacon template and updating
FW to send it out
ii) Notifying supplicant of channel change for P2P GO.
This change include UMAC changes.
CRs-fixed: 895240
Change-Id: Ie6c9154fb44ec75c699e37aaba660c637869c099
This is qcacld-2.0 to qcacld-3.0 propagation
Currently dwell time for PNO scan is passed as 0 to FW irrespective of
values set in config.ini. This patch allows active/passive dwell time
for PNO scan to be controlled by config.ini param.
Change-Id: I5562ed7e176af04ac8f38aa5af97257b9244cdc1
CRs-Fixed: 922054
This is pass 2 of cfg mechanism enahancement. With this patch cfg int
and cfg str buffer are allocated dynamically so no need to maintain
CFG_STA_IBUF_MAX_SIZE and CFG_STA_SBUF_MAX_SIZE manually.
Change-Id: I0f8cb942e93236546aad9963c9451e0399a251ac
CRs-Fixed: 914157
This is qcacld-2.0 to qcacld-3.0 propagation
HDD directly calls in to MAC layer function with mac context as one
of the parameters which is a software layering violation.
Fix the issue by introducing a SME api which accepts hal handle as
one of the parameters instead of mac context and call the SME function
from HDD, which calls the MAC api with correct function parameters.
Change-Id: Iaac4ad7b67b0cb0f7b8b0d08e32904833afad707
CRs-Fixed: 913015
HT_PURE mode indicates either only HT20 STAs are connected
to a HT20 only SAP or HT20/40 STAs are connected to HT20/40
SAP. Otherwise its HT20 protection mode. This patch fixes code
to work accroding to this condition correctly.
Change-Id: Ib431209f5dfc8800d0932752a282c954f0228503
CRs-Fixed: 866447
This is qcacld-2.0 to qcacld-3.0 propagation
In lim function to process hidden SSID, current code was treating
SME sessionID as PE sessionID and hence find session entry for that
was failing. This patch fixes this by using correct "find pe session"
API, that finds PE session by using SME session ID.
Change-Id: I72286cd54a41ae9c01bd916bb0156dd3131eb71c
CRs-Fixed: 934870
Reset the global saved scan command to avoid double free.
In sme_process_set_hw_mode_resp(), after freeing the local
saved_cmd pointer, the global mac->sme.saved_scan_cmd is
not reset to NULL. This ends up in double free in
csr_scan_complete()->csr_handle_nxt_cmd() where we are
still holding a stale pointer.
CRs-Fixed: 941130
Change-Id: Ibb93b8d8e601936c7996518f21646e2c140cbd20
qcacld-2.0 to qcacld-3.0 propagation
replace wait_for_completion_interruptible with wait_for_completion
to do Tlshim Rx shutdown with non-interruptible call.
Change-Id: I09a70fd2818db42401ba2ca91a75244c1f07557e
CRs-Fixed: 820482
qcacld-2.0 to qcacld-3.0 propagation
This fix removes redundant cdf_mem_zero and cdf_mem_copy
Change-Id: I757a2e14358403b7950868fd81d8e58ab3f829df
CRs-Fixed: 796971
qcacld-2.0 to qcacld-3.0 propagation
Reduce log level from pr_err to pr_info to avoid excessive logging
in wlan_queue_logmsg_for_app fn.
Change-Id: I10b728d9fc0c46ca4b4a38a6b060f25cad124207
CRs-Fixed: 840477
For P2P GO + GO concurrency cases, the second P2P GO interface failed
to startup due to the incorrect checkings in the driver code for GO
interface. This fixes the condition checking logic.
Change-Id: I1a8a1b3dd4eed9dd8c824241d7b1759751e53a18
CRs-fixed: 938850
qcacld-2.0 -> qcacld-3.0 propagation
Add support to enable and disable logging for all missing modules
from INI.
Change-Id: I1677a2db48193b1130e0fc07e8bdfc42823d3567
CRs-Fixed: 855168
qcacld-2.0 to qcacld-3.0 propagation
In wlan_hdd_tdls_check_bmps(), NULL check for pHddTdlsCtx will be
TRUE if TDLS support is not enabled. This leads to redundant logs,
as this is called for every scan_done callback.
Call wlan_hdd_tdls_scan_done_callback() only when TDLS support is
enabled.
Change-Id: Ice6f8fb1dc64f0669c19a9b5f5ce3d23c8cdc11c
CRs-Fixed: 672099
qcacld-2.0 to qcacld-3.0 propagation
Fix an issue which enables WDI pipes even when RM resource request
failed, which will cause to invoke WDI pipe enable twice when RM_
RESOURCE_GRANTED notification arrives later.
Also fixed a possible discrapancy between connected client stat count
and actual number of connected clients.
Change-Id: Ibb86ef6ada398fcc669e3a894daadc09e6096b0f
CRs-fixed: 927581
qcacld-2.0 to qcacld-3.0 propagation
When SSR happens, IPA WDI pipes may not be enabled yet,
so need to check if it up before disable it.
Change-Id: I5ff643fcf9804dc0933105079f0653884f7d63dc
CRs-Fixed: 938605
qcacld-2.0 to qcacld-3.0 propagation
Change to return -EINPROGRESS if WLAN unable to grant IPA CONS resource
due to IPA resource loading is in progress.
Return -EPERM only if WLAN unable to grant IPA CONS resource due to
IPA resource unloading is in progress.
Change-Id: Iea4d804d3f81b086e723230fb8eddc7d9561d7d1
CRs-Fixed: 926880
Add Profiling stats support in HOST driver to
have CPU based profiling for critical data
path functions in FW.
Change-Id: Ib6d4f0b220f622cf304536c8e538d4dc34c6434b
CRs-Fixed: 921950
Enable classification of IPv6 frames based on the
traffic class field in the IPv6 header.
Change-Id: I4114cb972f61b75da35a225c07f7628d748a744c
CRs-Fixed: 921955
Log timestamp can come from Qtimer or the system timer.
Record the source in a global variable that will be dumped
with the logs.
Change-Id: Ib168cfdc874426e48b12aac89f00d81ffe9e7fa6
CRs-Fixed: 940773
qcacld-2.0 to qcacld-3.0 propagation
while wlan disconnection is happening, in the process of peer-cleanup
check for tqu->prev to be non-null before calling TAILQ_REMOVE.
Change-Id: I5841dfe80b954bdfac5147f5e3e3661cc85ba4b1
CRs-Fixed: 836447
qcacld-2.0 to qcacld-3.0 propagation
tfm is invalid when alloc fails. Set tfm to NULL to avoid freeing
the crypto transform in crypto_free_cipher()->crypto_destroy_tfm.
Change-Id: I3261377f3a7b6ab5740d4144be9e84a1a3a07e42
CRs-Fixed: 809085
qcacld-2.0 to qcacld-3.0 propagation
As a debug enhancement, call vos_assert in vos timer APIs, when
API fails because of unintialization.
Change-Id: Ib7d4c7995a60b23413eead4603b38ff89ff48715
CRs-Fixed: 810282
qcacld-2.0 to qcacld-3.0 propagation
Currently driver logs are routed as messages to CNSS_DIAG so the
Kernel does not print them into the Kernel log. Add a debug print
to display in kernel log when ever the SSR is triggered using iwpriv.
In dog-food testing, this print would help to separate out the
user-triggered SSR scenarios.
Change-Id: I58f247a26e802bced0c226ee92052ca0d69e1554
CRs-Fixed: 844938
qcacld-2.0 to qcacld-3.0 propagation
Reduce the error log level for LOGP in Progress in
hdd_softap_hard_start_xmit to avoid WD bark
Change-Id: I1be5db2eb9b59f22f735f9c21eeac9a81bb246f5
CRs-Fixed: 824309
qcacld-2.0 to qcacld-3.0 propagation
when EXIT_BMPS is pending in activeList, it causes crash
with excess logging for RoamPending list. In this scenario
gTraceTbl has lost SME details due to other MTRACE commands.
Because of which, the issue is not rootcaused.
Add below changes to rootcause if the issue appears again:
1. print only first 5 commands from roamPendingList
2. Bug_on if the commandlist is full
3. Add MTRACE for PMC commands
CRs-Fixed: 833261
Change-Id: Id5bb399c4a8c8e84ddfa121a66881e3ecb901b05
qcacld-2.0 to qcacld-3.0 propagation
Remove cfg entries related to radio measurement(RM).
We have support to enable/disable RM capability through INI config.
We also had entry in cfg static table(cfg.dat). This change set
will remove entries related to RM.
Change-Id: Ic56cc34628cd1c0fb10512069ef6dc5f0eebb887
CRs-Fixed: 924420
qcacld-2.0 to qcacld-3.0 propagation
Remove check for AP's capability information to set station's
radio measurement(RM) capability in Capability Information element.
Change-Id: I6047d4dec19e7cd32d6733e4da773875bbbb31aa
CRs-Fixed: 924420
qcacld-2.0 to qcacld-3.0 propagation
Add support to configure RM enabled capbility information element
through INI.
Using the introduced INI config option(rm_capability), we can set
or unset any bit in the IE. Default value for the config parameter
is set based on rrmInitialize routine.
Change-Id: Ia2a4352760db77ab71dad4757eb603d7539ffefa
CRs-Fixed: 918667
In case of LFR3.0, report the critical roaming events
such as receiving the roam synch indication from firmware,
sending the roam synch complete to the firmware, sending
Hand Over failure event to the firmware to the DIAG modules
for better debug capabilities.
CRs-Fixed: 938002
Change-Id: Icfb4972d59dc3b734ed5af37d70834fea470d741
The SRRI/DRRI can be read from DDR instead of doing an
actual hardware read. This mechanism is compiled out by
default.
Change-Id: I8fc6c8817b5958f3d00b47ccd3dba36b354097e8
CRs-Fixed: 932344