Some user configured params are passed in filter during scan request.
Move them in scan params and update them from user config.
Change-Id: I71beb41c947ede742345821a983bb202575547b9
CRs-Fixed: 2013212
ol_tx_flow_pool_map_handler() need not hold the lock to call pause_cb.
pause_map_lock will takecare of any contention between pause and unpause.
Change-Id: I1adcfc156db55946d3a647269ecc2c09ea7981ce
CRs-Fixed: 2037277
Requirement is to get CCA from frmware when connection fails due to
assoc/auth/probe response timeout.
Change-Id: I062343ed065d7b0c38b9e3b24ecfa9851b9b1537
CRs-Fixed: 2018594
qcacld-2.0 to qcacld-3.0 propagation
This change indicates Peer STA's power state change and TX
failure to NL80211.
Vendor command QCA_NL80211_VENDOR_SUBCMD_LL_STATS_EXT(127)
is introduced by this change.
Change-Id: Iaa1c14e5cdc5a7d04beebbff1149daf871f9ef5a
CRs-fixed: 1048388
Use of wlan_hdd_validate_context is returning failure when driver load/unload
is in progress. Instead of using wlan_hdd_validate_context, we can check for
NULL pointer to validate hdd ctx in tdls disconnection callback.
Change-Id: I650aa1d4c81d5c275bb3d4266b9365b595cf0ad5
CRs-Fixed: 2036314
qcacld-2.0 to qcacld-3.0 propagation
If the STA is previously associated with AP and has TDLS peers,
then getTdlsPeers will show the peers even after STA is
disassociated.
Thus, the fix is to show the peers only if the STA is in
connected state.
Change-Id: I8686ae3b8bb007b58942cdbd8873e48f227fe443
CRs-Fixed: 2037534
Currently in wlan_hdd_tdls_ct_process_peers()
"link_status 0 tdls_support 0" is coming frequently
in dmesg due to low log level which leads to crash.
Fix is to change the log level to debug.
Change-Id: I9e110e2c7f45b2372990d5a1d3879ed9a1aab8c2
CRs-Fixed: 1093093
Currently, rx-hash calculation and hash look-up is performed only on
lower 32 bits. On some systems with a particular memory map, we have
observed that one could have buffers coming from memory map regions
that only differ at the higher (>32) bits.
For such systems, make sure that the hash entry storage and comparison
operations are done on the whole paddr range.
Change-Id: I279f673ee465a811d20606b260be084f984135d5
CRs-Fixed: 2024095
Add support for 32-bit host architecture where dma_addr_t
is 32 bits and bus addresses are of 64 bits on MAC and IPA.
Change-Id: Id4a4763ed388973297c63df290b578effdc5b284
CRs-Fixed: 2006548
As kernel was complaining an order-5 (2^5 * page-size(=8K)) allocation,
change the allocation of rx_buf_debug memory debug structure to be done
from BSS instead.
Change-Id: I78658f2f723d230cc6443c0897a6a4b31c753849
CRs-Fixed: 2011052
Enhance htt_rx_ring_fill_n by:
- Start timer in case the function is not able to find memory to fill rx
buffers.
- Handle case where one stream can starve the other stream by constantly
adding to the debt.
CRs-Fixed: 2001325
Change-Id: Idff33d9c28daaf7a00334134459a3633f5ccde7c
The offending code did not get the order of operations right.
It was: shift 16, cast 64,shift 16 and should have been:
cast, shift 16, shift 16.
CRs-Fixed: 2000844
Change-Id: I65cf4aaf0c20535070eb63b15d77b8c3c7dcb4e4
Add detection of non posted RX buffers from FW (rx_in_order_ind msgs)
by marking the higher(16) unused bits of the 64-bit physical addresses.
On reception, if the paddr received does not have the markings, assert,
otherwise clean the markings and proceed.
Duplicate rx-buffers will be detected in the FW.
CRs-Fixed: 2000844
Change-Id: I9c50cce182a12f3edd3c5b2606836d62f684f816
Add the following:
- Global cumulative counters for posted and received.
- CPU for each individual records
- Counters for refill timer starts
- iwpriv support (dumpStats 10) to dump the counters
CRs-Fixed: 2001331
Change-Id: I66a8a818ffa0b2522358bab404c92a3cdaa603f7
In case of parallel rx execution, fill_count was being updated
by multiple threads and this was causing fill_count to be incorrect
in parallel rx execution cases. This was causing rx ring to be under
filled and in time was causing rx starvation (data stall).
Fix this by:
- making sure that we always fill the right number of buffers based
on the msdu_count in the in_order_indication message.
- making sure that only one execution thread fills the ring
- making sure that the lock holder (filling the ring) does not
run too long by introducing a max fill limit, in which case the
filler will give up and the contender (the other rx execution
thread) takes the lock and fills the ring itself.
CRs-Fixed: 1103851
Change-Id: I59ee2903d51877afc112a1a76b7a5529f1c6a5c0
There was a typo in USR variant of the DEBUG_RX_RING_BUFFER
featured code, which caused a symbol not defined in the header
file, triggering an implicit function definition warning/error.
Fixed typo.
CRs-Fixed: 1104718
Change-Id: I6573904add1453d8c3765f030349a214b058e2c0
Make sure that peer is deleted at every path where
the ref-count is decremented and it reaches zero.
Change-Id: Ibaaae1e66855ebbd285b3647f9b862e823b6f335
CRs-Fixed: 1094439
Enhance rx ring buffer history to include both post and recv
time-stamps. Add a new event for alloc-index updates.
Change-Id: I061afdcda5d2d41c016be9d3b12e5c4a1cda0c65
CRs-Fixed: 1098656
Changes are done in wifi hal to syncronize the driver
probing.
Remove the wait from module init as the wait is now
done in dev node write handler for syncronization.
Change-Id: I8664d70c60731889fdbe2ad90df9ce9219747ae9
CRs-Fixed: 2034178
Presently, during unload, driver waits for max of 40sec if there are
any external threads. But if driver unload won't happen within 30sec
framework's watchdog kills system server, leading to device reboot.
Also this may lead to driver not to print external threads which got
stuck in driver.
To mitigate this issue reduce wait for external threads completion
to 20sec from 40sec.
Change-Id: I35cfb0ec20a7d4584196243ec0b1167b5eaa6bf0
CRs-Fixed: 2030112
Move the logs to appropriate log levels to reduce
the log spam in lim_ft.c, lim_process_auth_frame.c,
and lim_process_probe_req_frame.c
Change-Id: I4bc6c34fb91845b9b1d9be76f09ec63c2f363d11
CRs-Fixed: 1093093
Move the logs to appropriate log levels to reduce
the log spam in lim_sta_hash_api.c
Change-Id: I24b33db3ba1fb0fdca342f81518ded4467b951ec
CRs-Fixed: 1093093
When driver sets the channel banwidth, if HT and VHT are disabled
then kernel sets the width to NL80211_CHAN_WIDTH_20_NOHT. Currently
driver is not honoring this.
To resolve this issue add support for NL80211_CHAN_WIDTH_20_NOHT.
Change-Id: I98be22003bf88128ba39a0d2de43c2b3f3e5e2f0
CRs-Fixed: 2035625
WMA pdev reference clear is called after the wma close hence
wma handle is NULL and pdev refernce is not cleared.
Clear the pdev reference during WMA close procedure
Change-Id: I6c4caa21e9329f5d7542d114763cd6ae8931a604
CRs-Fixed: 2008013
Replace the legacy regulatory apis with regulatory component
public service apis
Change-Id: Ifd8c93fc8f57116cfc432b853248b35fd7ed1b94
CRs-Fixed: 2008013
There are few instances in current driver code, where SAP's
session is getting opened or closed internally by SAP module
which is wrong. It should come from HDD module.
Resolve above mentioned issue by following:
1) allocating and opening sap session through wlansap_open and
wlansap_start APIs respectively.
2) freeing and closing sap session through wlansap_close and
wlansap_stop APIs respectively.
Remove all other instances of sap_open_session and
sap_close_session.
Change-Id: I9ac9f68c9cd1f8c856b6228d4e3b32d3310c936a
CRs-Fixed: 2036385
Divide sap_open_session in to two parts. One where sme_open_session
is happening and the other one where sap context is getting initialized
to some values.
Divide sap_close_session in to three parts. One where sme_close_session
is happening, another where sap context is getting reset, and the
remaining one where global dfs parameters are getting reset.
Change-Id: I3126acbf4174261938c1f1ff19637bce87d7bddf
CRs-Fixed: 2036385
Add new ini parameter, gActiveMcBcBpfMode, to control active BPF
mode for MC/BC packets. By default its value is set disable.
Also, rename ini param name to gActiveUcBpfMode from gActiveBpfMode
and respective cfg variable name to active_uc_bpf_mode from
active_bpf_mode.
Change-Id: I1a42351585c34e7b6da8c26af9ac7b7abe0c0322
CRs-Fixed: 2032699
Move the logs to appropriate log levels to reduce
the log spam in lim_roam_timer_utils.c and
lim_send_sme_rsp_messages.c
Change-Id: Iaf0a163e2031482388b6356bb236b3fbdd18997e
CRs-Fixed: 1093093
Move the logs to appropriate log levels to reduce
the log spam in lim_process_assoc_req_frame.c and
lim_process_mlm_host_roam.c
Change-Id: Ie38bd037fa1533459c2825c998acb240dd8f7b25
CRs-Fixed: 1093093
Move the logs to appropriate log levels to reduce
the log spam in lim_process_action_frame.c and
lim_sme_req_utils.c
Change-Id: Iedcd860d93812c5e4b85e18c64bfe8885c5d0b19
CRs-Fixed: 1093093
Move the logs to appropriate log levels to reduce
the log spam in lim_prop_exts_utils.c and
lim_send_management_frames.c
Change-Id: Icd2f0d4643416aba13c18cf1eff7c74c7645bb6e
CRs-Fixed: 1093093
Move the logs to appropriate log levels to reduce
the log spam in lim_process_disassoc_frame.c
Change-Id: Ie1de4d2815130eb22704adddb1389f21e7ce54bb
CRs-Fixed: 1093093
Move the logs to appropriate log levels to reduce
the log spam in lim_send_frames_host_roam.c and
lim_api.c
Change-Id: Iaaa63ec8be4354d721eafe6c3ca83bf3d1dc4ae9
CRs-Fixed: 1093093
Move the logs to appropriate log levels to reduce
the log spam in lim_process_tdls.c
Change-Id: If90d0ec42793c72e730a9a8052eba39512502a9a
CRs-Fixed: 1093093
Move the logs to appropriate log levels to reduce the
log spam in lim_admit_control.c and lim_ibss_peer_mgmt.c
Change-Id: I985906e53205f57d97e594f501146773e7ba2a7e
CRs-Fixed: 1093093
Move the logs to appropriate log levels to reduce
the log spam in nan_api.c, p2p_api.c and sme_qos.c
Change-Id: I577977fb4455a44699215ac0ea8f1819b77deef0
CRs-Fixed: 1093093
Move the logs to appropriate log levels to reduce the
log spam in csr_neighbor_roam.c, csr_roam_preauth.c,
csr_tdls_process.c and csr_util.c
Change-Id: I7fa474658e7f538bf79883abf5e2d52f94332e0c
CRs-Fixed: 1093093
Move the logs to appropriate log levels to reduce
the log spam in csr_host_scan_roam.c
Change-Id: I00db47bb70471ae7b4ce8f3975627a5d1efcefcc
CRs-Fixed: 1093093
Fix mem leak in wma_post_cfg_msg by handling failure cases.
Also free psnr req during ssr when wma close happens.
Change-Id: I780ebb837db060cc8d6ff9a8fd77ebe3c77067cf
CRs-Fixed: 2033047
In pe_drop_pending_rx_mgmt_frames(), Change frequently seen logs
log_level from LOGE to LOG1.
Change-Id: I6a7e27eb7de7dd0e37a4ad2fea0b143493d831a1
CRs-Fixed: 2027882
qcacld-2.0 to qcacld-3.0 propagation
Once a peer sta's power state changes, fw will send
WMI_PEER_STA_PS_STATECHG_EVENTID to host. Once there
is TX failure on air, HTT_T2H_MSG_TYPE_TX_COMPL_IND
with an unsuccess status will be received by host.
These two kinds of messages from FW will be transferred
into SME message and sent to HDD layer.
Change-Id: If37798bcd06fb8c3f7a2690e77a572b41d7b266f
CRs-fixed: 1048388
Move IPA one time initialization items to hdd_ipa_init and have only
pipe specific configuration in hdd_ipa_ol_init. Also move IPA UC
specific reinitializaion to IPA SSR handlers.
Change-Id: I1a502a1b7f926a3037e4ca35a24b1c341077dff6
CRs-fixed: 2006661
A recent change to the Network Listen Offload (NLO) match wake event
handler creates and uses a pointer without allocating any memory for
it. Allocate memory for the nlo_event structure before use in the
NLO match wake event handler.
Change-Id: I29ed111e08c8a2d3cd8f8b5e9ca5332a502f9c1a
CRs-Fixed: 2035239
In preparation for moving WoW wake event and stats handling to PMO,
refactor the current WoW wake event handler.
Change-Id: Ic401d7e2541aa33cb17fbd5c3ed4fde82cbf1cdc
CRs-Fixed: 2030369
Configure HDD callback function to process packets received in
monitor mode for lithium based chipsets.
Change-Id: I8c742a10c00e667736400a064f17bbb7144521e4
CRs-Fixed: 1113187
Logic to calculate max chainmask supported is used to calculate
max NSS and thus when NSS passed is 2 the firmware was sent value
3 which is causing firmware crash as max NSS supported is 2.
To fix, added logic that if NSS is greater than WMA_MAX_NSS(2) make
it WMA_MAX_NSS.
Change-Id: Ic7ff541b60434c0ce501d245462cd45e62dd9403
CRs-Fixed: 2033675
If HW mode change timeout happens during connect req in CSR,
the status received by HDD is success and it assumes connect is
queued and does not reset the HDD state. This lead to subsequent
scan failures.
To fix, return failure status to HDD if HW mode change timesout.
Also avoid sending QDF status to supplicant as part of connect
failure.
Change-Id: I49d189ad75a585d894b5e819190c2dc3d9cc1453
CRs-fixed: 2031149
Currently wait for timeout happens in module_init which blocks
the driver loading in case of static driver
To mitigate this issue, wait is added in state ctrl param for DLKM,
static and load once and unload never driver types.
Change-Id: I1c2e427df3faa3cf68295868f6d98746e481987f
CRs-Fixed: 2012813
LRO mgr can have maximum of 10 LRO descriptors which means
that it can support maximum of 10 different flows. So, if more
than 10 flows are in progress simulataneously, LRO descriptor
could not be allocated for some of the flows and prints are
coming in kmsg to indicate this for every packet of those flows.
This is causing watchdog bark.
Reducing log level from error to debug to avoid watchdog bite.
Change-Id: I21c79be25035a5359b2390adbeb73a55f09db073
CRs-Fixed: 2034235
Initialize scheduler_msg on stack before posting using scheduler API
such that un-used fields in message structure are initialized to 0.
Change-Id: I1f46416f15c1b81273e1b32798937c05bcf176a9
CRs-Fixed: 2034770
Changing the method DP queries WMA regarding
DBS capability. Now his call will be made through
policy manager.
Change-Id: I32cd92f022cdfcffa8659344731223fefc6efc23
CRs-Fixed: 2025317
This change refactors IPA private data stored in skb control block,
which size is reduced to 32 bits.
Owner id is changed to 1 bit, to flag if the owner is IPA.
Callback function pointer is removed by adding the callback into cdf.
Skb control block priv data is reduced to 16 bits by storing the index
to the Tx descriptor list added in HDD.
Change-Id: I0eec0636794da3b4729b8be825afe6a1275915a4
CRs-Fixed: 982728
Fix the issues reported by static analysis tool for SME and WMA
modules. Following is the summar of issues which are fixed,
1) Get the csr session first and then validate the session to avoid
un-necessary session dereferencing.
2) If scan_info structure is null then return immediately else
populate scan_info structure properly.
3) Valid the mac context before deferencing it.
4) Validate the roam_req, wma, synch_event pointers before deferencing
them.
Change-Id: I522812b5c35dd540c38064e49e39ed75fb7d3e18
CRs-Fixed: 2032854
When ol_txrx_pdev_post_attach fails, the return values are not
correctly set, and this could cause several issues.
Fix to assign return values correcly.
Change-Id: I43fb97bbdb10e019e02bf289f5b4995461eb75db
CRs-Fixed: 1113222
Check adapter is not NULL when receiving IPA_RECEIVE event,
to avoid null dereference when the interface is already cleaned up.
Change-Id: Ic9240811f42edd4f495cb4eabe1268d24851d6d9
CRs-Fixed: 2001132
BSS's fProbeRsp is not set during roam sync indication and thus
the frame is always indicated as beacon to kernel. If AP has hidden
SSID, this will be dropped by kernel in confusion that something
is wrong as the AP has hidden ssid but the beacon frame indicated
by driver have ssid.
Thus to fix this set BSS's fProbeRsp to proper value.
Change-Id: Id3521fe792573cb819b91269047a119a9346d7b2
CRs-Fixed: 2034849
Driver fails to set the Guard interval 160MHz.
There is an invalid check to set the guard interval 160MHz using the
current supported chanel BW. To address this issue, add appropriate
check to set the GI 160MHz.
Change-Id: Ie0c41aea0c44a24c86ddf312cf120cbda175dad5
CRs-Fixed: 2028647
Initialize scheduler_msg on stack before posting using scheduler API
such that un-used fields in message structure are initialized to 0.
Change-Id: I4acd098ca1e975ad6ffed58d1a84c70078e2dca6
CRs-Fixed: 2034770
qcacld-2.0 to qcacld-3.0 propagation
A new 32-bit NL80211 vendor attribute is added to configure propagation
absolute delay for 2G/5G band (unit in us).
Change-Id: I2aecaa8b007c67fa2843ad3922857f923f9b8294
CRs-Fixed: 2031008
If SU beamformer is set in assoc req when AP is not SU beamformee
low throughput is seen with specific AP.
To fix this, set SU bformer capability only if AP is SU bformee and
set SU bformee capability only if AP is SU bformer
Change-Id: I9093352d48722eb79db7b1992ac873bd8cf13e66
CRs-Fixed: 2025399
__lim_get_sme_join_req_size_for_alloc returning 2 byte extra length,
using this incorrect buffer size to copy buffer may cause buffer
overflow.
Fix the same by returning correct size.
Change-Id: If9a5f3546955c72f54a11fedec76f24cd122319a
CRs-Fixed: 2034215
1) In function wma_vdev_detach_callback, free stats_rsp before zeroing out
iface buffer, else the stats_rsp memory which is not sent to upper layer is
lost.
2) In function wma_get_stats_req set stats_rsp buffer to NULL after
posting it to upper layers, so that in case this function is pre-empted
we do not lose buffer pointer.
Change-Id: I8d6261cb53758e02217d68ff01b94bb812adc7fd
CRs-Fixed: 2015436
In function sme_get_beacon_frm, csr_get_fst_bssdescr_ptr can return a NULL
pointer. Check it against NULL before usage.
Change-Id: I76112adf9a0a618bf7e956911d68e7ee2edac61e
CRs-Fixed: 2008664
Deinitialize the scan pdev os private member
as part of the hdd deinit sequence.
Change-Id: I451000ac5d883418e380b72f281663c57b276f2d
CRs-Fixed: 2033622
Currently, host driver adds QCN IE in probe/assoc request initiated
from driver.
If QCN IE support is enabled in host driver[g_qcn_ie_support INI is 1],
add the QCN IE as part of scan/assoc IE's that are sent to FW to be
used for probe/assoc/reassoc frames initiated by FW.
Change-Id: Ic4d58b2cb827668a9ce9cfa5bad4d882816d607b
CRs-Fixed: 1117332
Remove unwanted redundant info printed across multiple
layers[csr, lim, wma] with respect to roaming.
Change-Id: I5197633b0e5afc775c1e10a6e75c58c58055ec49
CRs-Fixed: 2021082
Add "g_fils_max_chan_guard_time" INI and pass the configured value
to firmware for STA vdev as part of vdev attach. Based on this INI,
firmware will calculate the dwell time while sending in probe request.
Change-Id: I2336a7e0a37181ea00ef117e9907e7eaf194ae3d
CRs-Fixed: 1114057
qcacld-2.0 to qcacld-3.0 propagation
Add 4 counts to link layer stats which will be retrieved along with
other link layer stats fields by application to decide if channel
hopping needed.
Change-Id: Ic413b8ad98f1147715cf89c083aa9a77e60a2dc6
CRs-Fixed: 1094958
qcacld-2.0 to qcacld-3.0 propagation
If data was NULL in fw_entry, fw_entry should be released before return.
Otherwise there will be resource leakage.
Change-Id: I0a72f6bd74f349baf1028aed1f9988b188cda1b6
CRs-fixed: 1111115
For regulatory offload, send the regulatory config settings to regulatory
component to compute the current channel list. Query channel list for
each band. Populate the channel list in wiphy. Also do not register
regulatory notifier with the kernel anymore.
CRs-Fixed: 2008013
Change-Id: Ia4995c7498d97fe1e37717e65daa9dcacb2f21b3