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
Enable UMAC converged southbound interface by default by removing
CONFIG_WLAN_CONVERGED_INTERFACE in Kbuild and WLAN_CONVERGED_INTERFACE
based API definitions in wma_main.c.
Change-Id: I3b849192b667e8c2f9fb628355c80b3d817f741a
CRs-Fixed: 1103247
Rename HDD VDEV object delete API to hdd_release_and_destroy_vdev
to indicate its true behaviour.
Change-Id: Id8baa4523b3684bea2cb9657225f82a50b1980f5
CRs-Fixed: 1108535
Rename HDD PDEV object delete API to hdd_release_and_destroy_pdev
to indicate its true behaviour.
Change-Id: Idefcd72b2ab038ca5c9b30e42893c261647069a6
CRs-Fixed: 1108530
Rename HDD PSOC object delete API to hdd_release_and_destroy_psoc
to indicate its true behaviour.
Change-Id: I750f1575c49044230309efbc44b5502ae3ab9ac2
CRs-Fixed: 1108508
Currently host sends vdev delete as part of vdev stop
timeout handling which can change internal states in
firmware. So trigger crash immediately once timeout
is detected.
Change-Id: Iab2aa4324f7cff493c2cf5d0e1a059970d455b23
CRs-Fixed: 1097007
LFR module in firmware copies WEP keys from old AP to new AP during
roaming. Host driver should not install 0 length keys during roam
sync indication processing.
Change-Id: I002be0ab330a7161ca2554d9d423e8e1b2170e55
CRs-Fixed: 1096918
In function __hdd_softap_hard_start_xmit, station id is
not validated with max station count, this might lead to
a buffer overflow situation for array aStaInfo in SapCtx.
Validate station id with max sta count.
CRs-Fixed: 1093122
Change-Id: If9f59c5a7b76845bb7783a96453e595b5afa4f30
When HDD IPA RT debugging is not enabled, rt_debug_fill_timer is not
initialized. However, we still check the timer status to destroy the
timer while deinit RT debug.
Change-Id: Ic541301843e4d72ad2bc6181728cf18c97d6191a
CRs-fixed: 1095787
qcacld-2.0 to qcacld-3.0 propagation
When pended HDD IPA events are resumed after driver unloading, a crash
happens, since resources are already freed up.
Fix by not pending events while driver unloading is in progress.
Change-Id: Id744aa6e683850ce25c875ab6b5ffabdca733e5d
CRs-Fixed: 987180
qcacld-2.0 to qcacld-3.0 propagation
This fixes a race condition between IPA Rx handler and wlan unloading
Change-Id: I8997d532a92b2708bc48f09badb89fabe1544c87
CRs-fixed: 1059550
hdd_wlan_get_ibss_peer_info() and hdd_wlan_get_ibss_peer_info_all()
initialize their completion variables after scheduling work, leading to
a race condition that can cause the completion variable to be set before
it is initialized. Reorder the operations so work is scheduled after
initializing the completion variables.
Change-Id: Ic773574f3620438b473cd5bcebee78ad87a37942
CRs-Fixed: 1074692
Use a flag fw_create_pending flag to compensate for the extra
peer reference count only once for the first peer map event. It
will avoid duplicate compensation of ref count and untimely peer
delete.
CRs-Fixed: 1092503
Change-Id: I8b32290ad1bc4a834a3edb68e25b212eee2951c1
In function sme_set_tspec_uapsd_mask_per_session update
uapsd_per_ac_bit_mask as per the values received from
ADD TS response. Otherwise, ini change if 0 will always
override ADD TS response values.
Change-Id: Ie834f651bb097c084c81c6ebc9c8637f96d7a075
CRs-Fixed: 1096829
Free msg->bodyptr in wma_mc_process_msg function for
WMA_SET_RSSI_MONITOR_REQ to avoid memory leak.
Change-Id: I7088a0ca54b374f2ef326ca344cedafe115d79d6
CRs-Fixed: 1095418