reg_enable_dfs_channels() fills the regualtory channel list with the
updated channels (enabling/disabling dfs channels). Added changes to
update the legacy channel list from the master channel list.
Change-Id: I2ddbeede5bd7ee248654c29de8781ed570f9dfee
CRs-Fixed: 2328894
Declaration and initialisation of function pointers to get user configured
dis_radar_mark flag and send usenol pdev param.
CRs-Fixed: 2328894
Change-Id: I6aaa6f8e52924c0cd4f754300178d6a6ff1b6801
On NOL violation during scan start, FW aborts the scan request and sends
the scan failure event.
CRs-Fixed: 2328894
Change-Id: I5b33a8f02122226b8980daaeedb13d727266e7e7
This commit contains the following changes related to FR49350:
usenol pdev param declaration and implementation of wmi cmd to send
the param to FW.
Failure status code declaration for scan and vdev start.
CRs-Fixed: 2328894
Change-Id: I5d3bfe758aeb9907193b6f626582b70413f5381c
This commit includes the following changes:
Send usenol pdev param to FW.
Set and get dfs_disable_radar_marking flag.
Handle scan failure due to NOL violation.
Change-Id: I814f6381145f98eccf465af730734238c60d8896
CRs-Fixed: 2328894
To avoid race conditions where BA window size can change, always
flush entire REO descriptor from HW cache irrespective of current
BA window size.
Change-Id: I608996722e7dc2dc6acfd145b8c190b58ce09822
CRs-Fixed: 2251811
In STA roaming scenarios it is possible that an
AST entry for a given MAC address already exist
on the other radio
Delete the existing WDS AST entry on other radio
if present before adding the new wds entry on the
current radio as part of WDS source port learning
Change-Id: I15ef79be0441f3b27fd55e728f5bb27b073c6469
CRs-Fixed: 2334625
SA might be valid for the mac address after AST entry is deleted from
host AST table as GSE caches the AST entry on other radio even after
it is deleted.
In this case send add AST with updated peer and vdev
Change-Id: I6178785f158a0323bb5dc86179db29785c3a392e
In success scenarios wlan_cfg80211_scan return the qdf status without
converting it to os return status.
Convert the qdf status to os return status before returning in
wlan_cfg80211_scan.
Change-Id: Iee0503191aca371634c9dae9daf15f5aadfe7e2e
CRs-Fixed: 2334591
- Support to pass IPA enabled(disabled) flag from ini to DP layer
- Use ioremap call to translate tx_comp_doorbell_paddr obtained from
calling ipa_setup api to tx_comp_doorbell_vaddr. This is needed to
write the initial value of HP at the doorbell address.
- Change REO_DST_RING_SIZE and WLAN_CFG_TX_RING_SIZE to 1023
for napier/hastings if IPA is enabled. This is needed because,
ipa_setup API can handle only 16-bit values for the size param(bytes)
of the ring.
- Disable hash based flow steering for SAP peers in case IPA is enabled
and set default reo_dest_ring_4 as default RX ring. Since IPA will be
reaping RX packets from reo_dest_ring_4 only, flow steering is not
needed for SAP peers.
- Unmap pre-allocated TX buffers for IPA in the TX completion ring.
- Donot execute IPA functionality if IPA is disabled from ini.
Change-Id: I6855bfe293a457ccc0abd1ad5567f5c95232a9d2
CRs-Fixed: 2183519
It is often useful to print the human readable version of an operating
mode in a log message or some other user-facing string. Add a function
for mapping QDF_OPMODE to human readable strings, qdf_opmode_str(), in
QDF such that various consumers do not have to implement it themselves.
Change-Id: I8756fb2ea97b3b8c7af2633b07694ad1e74d6d3e
CRs-Fixed: 2331888
In tdls_get_wmi_offchannel_bw in default case uninitialized output
bw is printed instead input bw. This will result in printing
uninitialized variable.
Change-Id: I7819dad3426fbe1b4c4626bc69744e3ee59ba18f
CRs-Fixed: 2329333
Ownership of gEnableStaConnectionIn5Ghz is changed from HDD to
Policy manager. So policy manager doesn't have to rely on HDD to
obtain the INI setting.
CRs-Fixed: 2324395
Change-Id: I894467bab4b0bddf309463802b98904ef1150536
Ownership of gEnableMCCAdaptiveScheduler is changed from HDD to
Policy manager. So policy manager doesn't have to rely on HDD to
obtain the INI setting.
CRs-Fixed: 2324395
Change-Id: Ib86004c4ee753b37b392de69551c777e3e9011de
Ownership of dbs_selection_policy, vdev_priority_list,
channel_select_logic_conc INIs' are changed from HDD to
Policy manager. So policy manager doesn't have to rely on HDD to
obtain the INI setting.
CRs-Fixed: 2324395
Change-Id: I8b38916d92931ef9cd1727481740bc61cad8f808
Ownership of gMaxConcurrentActiveSessions is changed from HDD to
Policy manager. So policy manager doesn't have to rely on HDD to
obtain the INI setting.
CRs-Fixed: 2324395
Change-Id: Iac1451fc457d9bceee73596affdae54895917040
Ownership of gSystemPref is changed from HDD to
Policy manager. So policy manager doesn't have to rely on HDD to
obtain the INI setting.
CRs-Fixed: 2324395
Change-Id: Ia586896ea55c6e71d8dcff705bf0e74879931dbb
Ownership of gWlanMccToSccSwitchMode is changed from HDD to
Policy manager. So policy manager doesn't have to rely on HDD to
obtain the INI setting.
CRs-Fixed: 2324395
Change-Id: Id8bdee52ebf83b1c8b3c8f9132a2fc74b28f42a0
Policy Manager component needs to adopt a new INI/CFG
infrastructure
Provide a new infrastructure and remove old INI/CFGs related
to policy manager component.
CRs-Fixed: 2324395
Change-Id: Ia16845c2aef3c5877b0b164fcef13fe7cd41c736
Datapath supposed to be HLOS-agnostic, but there is some use of
Linux fixed-width types u8, u16, and u32. These should be replaced with
C99 fixed-width types uint8_t, uint16_t, and uint32_t so that they will
correctly be HLOS-agnostic and work on non-Linux targets.
CRs-Fixed: 2326406
Change-Id: I8f9099a0170e4f94a54cdd6cc6c2e321a29af717
Change Ia75f88c03c4d0eba0edbebf8e8f40d41396543d5 initialized the
ast_idx to 0xFFFF, and when deleting ast for self BSS of STA mode,
this index will be used to access ast_table whose size is less than
0xFFFF, and OOB may occur.
For AST of STA's self BSS, do not clear the related ast_table.
Change-Id: I3ceffd216061950024a524b25f1d38c43e1ee0e4
CRs-Fixed: 2334039
The debug node for all the nbufs allocated by wbuff
for a module contains the file and line info
pertaining to wbuff_module_register().
To enhance debugging, Use qdf_net_buf_debug_update_node()
to update debug info when nbuf is requested through
wbuff_buff_get().
Change-Id: Ie8b148ef6313bd3b265cfa3f141e8d0de8b75597
CRs-Fixed: 2328257
The scheduler history feature contains logic to capture the queue depth
at the time of message insertion, but an oversight means this
information is not actually recorded in the scheduler history. Record
the captured queue depth in the scheduler history when a message is
dequeued for processing.
Change-Id: Ia2dd6f641055237b8f9c546077f7b5992c697330
CRs-Fixed: 2332752
While freeing IPA CE status ring during driver unload, hit data abort
since ipa_ce_ring data structure is already freed.
Fix not to alloc/free ipa_ce_ring for sring based target and
to alloc/free ipa_ce_ring only when it is not already allocated/freed.
Change-Id: I25081f9c2bad7ba9119926cf089f471463dff69a
CRs-Fixed: 2291969
Change the wmi_pdev_stats structure to wmi_pdev_stats_v2 structure.
This change is needed because of corresponding change made in FW
for renaming the structure.
Change-Id: I6dd3abd61730d8f17d74a11a42978a64853136e5
In the existing converged component, WMI TLV APIs are implemented in
a generic manner without proper featurization. All the APIs exposed
outside of WMI are implemented in wmi_unified_api.c and all the APIs
forming the CMD or extracting the EVT is implemented in wmi_unified_tlv.c.
Since WIN and MCL have a unified WMI layer in the converged component and
there are features within WIN and MCL that are not common, there exists a
good number of WMI APIs which are specific to WIN but compiled by MCL and
vice-versa. Due to this inadvertent problem, there is a chunk of code and
memory used up by WIN and MCL for features that are not used in their
products.
Featurize WMI APIs and TLVs that are specific to MCL -
- DSRC
- NAN
- P2P
- PMO
- roaming
- concurrency
- STA
- Generic MCL specific WMI (STA)
Change-Id: I03a68b0db30a3aa585b269ab0a1745b37bc7e0b7
CRs-Fixed: 2316935
FR: TDMA Support for Wave2 Radios (host support)
Added a wmi cmd for configuring the interval between successive sifs
trigger frames given by the user app. Added a separate wmi cmd instead
of wmi param with reference to further scope.
Change-Id: Ifa778a761e3495ef7abab5f63a49661b307034ae
CRs-Fixed: 2330484
Chain mask tables number is from wmi service ready ext event, it is
not check valid which will cause oob read arry of chain mask tables.
Change-Id: I2fa0251358ed66d928477c0b55933ca028c8bd53
CRs-Fixed: 2331850
As multicast is supreset for mcast and bcast,
derive pdev unicast stats only from to_stack and multicast.
Change-Id: I207e1e1d1950b52e0758aac539c79c1865192371
CRs-Fixed: 2323824
The movement of serialization non scan commands from pending to active
could be one or multiple commands, and it could be done by looking up
the vdev or pdev serialization non scan queues.
There were separate API's implemented for these movement
and activating the commands, moved to active queue as
part of the movement.
Implement a generic API for the movement of non scan commands from
pending to active, instead of having multiple API's either for either
single or multiple commands and do the lookup either from pdev
or vdev queues based on required checks.
Change-Id: I39864611cf019757e44f35d1e267458d35243cc2
CRs-Fixed: 2327461
ensure we setup tid queues only if default route is set
Also we no longer set default route or tid queue setup
for BSS Peer.
Change-Id: Id240b9b8ddd67136ff85e1098840938928857fc4
This change provides support for unit testing the serialization module
using the test framework.
Change-Id: I62bc2e20120d5fa73b147aef84ad22c64c100706
CRs-Fixed: 2308317
If bss peer is freed after posting TDLS mgmt request command
to serialization component. Free the tdls mgmt req command
from active list.
Change-Id: I6bf2c3518dfc64052470375e4018e56abdcfcabb
CRs-Fixed: 2333288
Phy_id value in reg_process_master_chan_list comes directly from firmware.
Therefore, check for OOB value for phy_id.
Change-Id: I0b634e2630c4d6e5d4a15a86953e7a0ed3df6f47
CRs-Fixed: 2327711
In extract_reg_11d_new_country_event_tlv(), the
reg_11d_country_event->new_alpha2 buffer from the original WMI
message is copied into reg_11d_country->alpha2. Will only copy
REG_ALPHA2_LEN bytes into a buffer that REG_ALPHA2_LEN +1 bytes.
then reg_11d_country->alpha2 buffer is printed as a string.
Because the original reg_11d_new_country structure in
tgt_reg_11d_new_cc_handler() was allocated on the stack and
not initialized, there is no guarantee that the buffer is
NULL terminated. Due to this the WMI_LOGD() call will result in
an OOB issue when printing the buffer.
Change-Id: I20b0044974438d95e4c09f843db2a7f369c9b85d
CRs-Fixed: 2327718
The default log level for Object Manager is set to QDF_TRACE_LEVEL_FATAL.
However the prints in the leak detection API's of the objects
are printing with log level QDF_TRACE_LEVEL_ERROR.
So to be able to dump the logs in case of leaks detected
for any pobjects, we are changing the log level to
QDF_TRACE_LEVEL_FATAL in the leak detection API's.
Change-Id: I203865390b910176686b5096fa951879c513d7b8
CRs-Fixed: 2331074
Tx descriptors that belong to a particular vdev are released in
vdev detach path. Since DP soc is not detached yet, interrupts
are not disabled, so it is possible that host gets completions
for same tx descriptor and it tries to process it again.
Add a check for vdev in tx completion path to avoid duplicate
processing of tx descriptors
Change-Id: I5a62ef4d981dbfd0a5ca7483acf4270145d016be
In rx defrag reo inject frame when next hop and cached tail pointer
becomes equal src ring next entry desc returned will be NULL. There
is no NULL check and NULL pointer is dereferenced. In this change
add NULL check and return error status when the next entry desc is
NULL.
Change-Id: I79ca6ba6e6501f03c0c5d188780745b6931102fe
CRs-Fixed: 2318701
In noisy environments with monitor mode enabled, RXDMA2SW
ring is getting filled with bursts of dummy indications,
which were added as part of a WAR to handle RXDMA issue
with error indications received in monitor path. These
indications won't consume any real buffers, but are causing
ring full assertion failure due to smaller ring size.
This change increases max ring size, and the actual ring
size comes from ini file.
Change-Id: Icb7f08ab0757cb5b6ac7c1aee8e04f200ed4a1bd
In the call to QDF_TRACE_HEX_DUMP in extract_ndp_confirm_tlv(),
the buffer, event->ndp_cfg is dereferenced an additional time
and then read the length number of bytes in hex_dump_to_buffer,
resulting in an OOB read.
As WMI logging is already enabled, remove the hex dump.
Change-Id: I6a866e87dd80f3e41cf3c699ff4846416d309cf3
CRs-Fixed: 2326012
Make policy_mgr_set_pcl_for_existing_combo as public API
Move policy_mgr_pdev_set_pcl to policy manager internal header file
Change-Id: I6ef45fb34c4bc4bc0c07cad6f546a777922fde9d
CRs-Fixed: 2331254