DP TXRX module is not cleaned when DP Rx thread init failed
To fix this, when DP Rx thread init fails, free DP TXRX module
as part of failure sequence.
Change-Id: I311b84a76036c8dd1e60b9f8c653fc126e031543
CRs-Fixed: 3413933
If roaming is triggered by source CM_ROAMING_NUD_FAILURE,
then per the INI gEnableNUDTracking to check whether
disconnect current connection or not.
gEnableNUDTracking=2, keeping the connection
gEnableNUDTracking=3, disconnect the connection
Change-Id: I0f321dcf5f3fc1bf7d0c93fa0d70bf4770ccaf35
CRs-Fixed: 3412213
Previously, IPA had its default vote which will bump up the SNOC
frequency to 200 MHz. Now IPA has removed its vote which is
causing throughput drop in HE cases for SAP and P2P GO mode.
To fix this, add new throughput level TPUT_LEVEL_HIGH_HE_CASE and
provide ini to set its threshold to increase SNOC frequency to
200 MHz. To enable, set ini BandwidthMidHighThreshold to 7000.
Change-Id: Ica8c640597c37602aea2f5e4ff6b0646c49ff548
CRs-Fixed: 3297833
Currently while updating EAPOL stats, there is no check
for subtype greater than array size, which can result in OOB access.
To fix the issue add additional check for subtype <= EAPOL M4 to
avoid OOB access.
Change-Id: I906ce9166b7a0202335403c77dc6bcd135dea663
CRs-Fixed: 3387939
Add pre-alloc entries for datapath config events
history, so that the memory for this history is
pre-allocated and not freed on every wifi off.
Change-Id: Iae1013c68a77d7da719400579af43369d9663163
CRs-Fixed: 3379157
When component dependent functions calling from higher
modules or any other components, it uses ucfg APIs pattern.
Calling ucfg dependent APIs is acceptable for higher modules
like HDD, OSIF but for another components like DP to avoid
using ucfg APIs here, implementing component APIs for existing
ucfg APIs to other components like NAN, vdev_mgr in DP
component module.
Change-Id: Ia5431c7de7fc944aacf5c8a328072a8ec31e8f3f
CRs-Fixed: 3351496
Create sysfs file for direct link unit test command to
generate traffic from LPASS.
Add ini to enable direct link unit testing.
Change-Id: I5b143bc6751eedb1a65cd836ea738744b72cc2cc
CRs-Fixed: 3365576
Currently, based on config_direct_link variable, link is voted
up or down which can result in same multiple votes.
To fix this, vote link up or down if there is a change in
previous config and incoming config_direct_link argument.
Also, return status success when direct link is not enabled
but dp_config_direct_link is called.
Change-Id: I4f54d74a9d4921f27f247450f89a03d6dabc838e
CRs-Fixed: 3375395
Set to_fw bit in DP vdev for direct link use case
and also set it when the use case is unspecified as
well.
Change-Id: I7306e22e81303720830cfce4ce19b15d2080d93c
CRs-Fixed: 3369891
The kernel-doc script identified some documentation issues in
components/dp, so fix them.
Change-Id: Ic6297d80cda845287e7a472add244c489afd253b
CRs-Fixed: 3362039
When component dependent functions calling from higher
modules or any other components, it uses ucfg APIs pattern.
Calling ucfg dependent APIs is acceptable for higher modules
like HDD, OSIF but for another components like DP to avoid
using ucfg APIs here, implementing component APIs for existing
ucfg APIs to other components like MLME, TDLS, Pkt capture in
DP component module.
Change-Id: Ib8857eeca6a88810d7875312ff6dc14ffb60bc70
CRs-Fixed: 3351486
IOMMU map and unmap memory regions related to direct link
into LPASS SMMU context bank for LPASS to access that memory
in direct link use cases.
Change-Id: I4414ad1f480a639ee2d8a0677326624cd959b2b4
CRs-Fixed: 3356587
The kernel-doc script identified some documentation issues in
wlan_dp_priv.h, so fix them.
Change-Id: I38bc7293d4ef7b34bbc40930b2c1e4daaff4a13b
CRs-Fixed: 3352263
When Vdev for direct link is up, set packets for this vdev to
route to firmware and only enter d0 WOW.
If the AP profile is HOST_CONCURRENT_AP_POLICY_GAMING_AUDIO,
prevent link to go to low power states to reduce latency.
Change-Id: I9fa2ab06983db8767d8b48b74e30602e07294fe2
CRs-Fixed: 3330207
Display Runtime PM last busy stats periodically, this helps
to debug runtimepm issues even without dump availability.
Change-Id: Iae9b70ed49b94a4e098d87a0a00e539178f3c35d
CRs-Fixed: 3337901
Allocate a dedicated rx refill ring for use by LPASS
WiFi driver to provide buffers back to FW in the
Direct Link datapath.
Change-Id: I3b59e2fd3973f37fc2cc77898c4dcf09fc5def57
CRs-Fixed: 3317972
current observation is as following,
(1) RX UDP data length less then 12 bytes and they are aggregated
by FISA.
(2) aggregated UDP data might not be supported by user APP or they
are forwarded to other netdev.
if above two is met, kernel panic appears.
no solid conclusion from kernel network currently,
as a SW WAR from wlan driver side, check if current UDP data
length < 16 bytes, skip FISA aggregation.
Change-Id: Ia9e46705c7ace6a6e5580494231056adf214d7b2
CRs-Fixed: 3330035
Add support to register for LPASS data message htc service
for Direct Link datapath.
Change-Id: Iff9be53841088abe884d8e282bf13509a99ddeb2
CRs-Fixed: 3317634
FISA update may come when target in suspend state, then
UMAC force wake may return failure and lead to system timeout
crash. Change is used to defer the update when resume happens.
Change-Id: I8d3082355f780d11fd5047d67f916f0a7dd0c6e8
CRs-Fixed: 3325498
fix dp memory pre-allocation failure as below,
(1) add pre-allocated memory for extra contexts of
DP_RX_RING_HIST_TYPE on beryllium.
(2) add extra RXDMA_BUF type's memory for SW2RXDMA ring and size same
as RX refill ring size for now.
(3) add pre-allocated memory for REO_STATUS & RXDMA_MONITOR_STATUS ring.
(4) add pre-allocated memory for DP_MON_PDEV_TYPE.
Change-Id: I038d946cf1b8c9dc67c1539ea972bda8239def4d
CRs-Fixed: 3314198
Build failed once WLAN_TRACE_HIDE_MAC_ADDR is enabled,
due to 'error: type mismatch in conditional expression'.
To fix it, correct the parameter for QDF_MAC_ADDR_REF.
Change-Id: Ifd89b02ab5fb2e3b59291c303ad93b691616dc57
CRs-Fixed: 3308193
For MLO connection, if the RX EAPOL frame is not from regular RX path,
then DA conversion likely has not done by HW.
Add DA check for EAPOL if not from regular RX path.
Change-Id: Ib68d247be216805d11d42da3f8580c47dffe93b6
CRs-Fixed: 3289834
In SAP due to intrabss forwarding, Tx ring update is going through
when WOW enable command has been sent to FW. This results in crash.
To fix this, set is_tx_pause flag when suspend sequence starts,
which will pause Tx ring HP update.
Change-Id: I81f25b8bfca917c95180c460fd932c0f75094c10
CRs-Fixed: 3295428
Currently, there is no interface id valid check,
Which is resulting in unnecessary Vdev NULL error
logs for interfaces for which Vdev is not created.
So to fix the excessive logging issue add a check
to validate the interface id.
Change-Id: I86b2a60c11631f5122f866a83427d4cd9b794a02
CRs-Fixed: 3283932
Currently at multiple places there is no
NULL check for return value which might
result in NULL pointer dereference.
Add NULL check for return value to avoid any
NULL pointer dereference.
Change-Id: I986a48d9649b67cb5a078ec38eea64da4ef9244e
CRs-Fixed: 3273489
Currently net dev stats are handled using QDF MACROS which is not
ideal approach. So modified it to OS agnostic inline API's for
handling net dev stats.
Change-Id: I1739779c4fa7699e867b9aa75aff48546b7754ac
CRs-Fixed: 3250935
Add ucfg APIs to set/get feature status and dscp
values and structure to store values
Change-Id: I839c89696581b8aefd873a120d938a5cbbc32899
CRs-Fixed: 3255692
After setting link speed threshold to low value like 10 Mbps by vendor cmd,
in bus bw timer, when find link speed above theshold, just change local
link speed state to good, not update global var dp_intf->link_monitoring,
so link_monitoring_cb is called periodically, message to update link
speed to good is sent to scheduler thread periodically,
WMI_ROAM_SET_PARAM_CMDID is sent to F/W periodically too.
To fix it, when find link speed state change from bad to good, update to
global var dp_intf->link_monitoring too. In next bus bw timer, find link
speed state keep good, don't send msg to update link speed again.
Change-Id: I3840e834a76465242face5b2529f004d1d277312
CRs-Fixed: 3266159
To avoid unmeaningful roaming, when low RSSI trigger,
only roam when rx linkspeed is also bad.
Steps:
1. F/W indicates feature supported by:
wmi_service_linkspeed_roam_trigger_support
2. App sets vdev rx link speed threshold by vendor cmd.
3. Bus_bw_work gets rx link speed from data path periodically.
4. If found rx link speed change from good to poor, or poor to good, send
to F/W.
5. F/W low rssi roaming is triggered only when both RSSI and link speed are
poor.
Change-Id: I2c2a22c1f24a730783ee09455f4d70b099d9bff1
CRs-Fixed: 3255036
Enhance NUD failure handling by also adding
check for packet received from AP in the case
where AP is gateway
Change-Id: I45f4c11f34eddf536756edc4f81009227ae64c35
CRs-Fixed: 3239391
Currently there is compilation issue in case of IPA
offload enable case due to code changes done as
part of DP componentization.
Fix compilation issue by adding calls to DP component APIs
Change-Id: Id545f67bff75682ceccba5725f956a89c6b9b9f8
CRs-Fixed: 3259293
Currently, there is a race condition where packet gets
enqueued when WOW handshake is being done in parallel during
bus suspend resulting in assert in FW as Tx is aborted when
WOW command is received in FW.
To fix this, suspend DP tx path before suspend sequence starts
which will drop tx packets.
Change-Id: I38a6a6bdf9858f627205f75f75f351f7debbb7f7
CRs-Fixed: 3227752
Currently while attaching vdev to DP interface
we are searching DP interface based on the Adapter
MAC address, but if STA MLD and Link address is
same, we were getting the Link Interface instead of
MLD interface, which was causing the EAPOL packet to drop.
To Fix the issue, instead of searching for DP interface
based on MAC address, use netdev to search DP interface.
Change-Id: I50c7974c053717b496fab0eeb89774af382b4313
CRs-Fixed: 3258684
RPS CPU mask is getting set even if feature is not enabled,
due to this RPS config is taking affect and throughput is degraded.
Fix this by checking dynamic RPS enablement before setting RPS CPU mask.
Change-Id: I472a600e665271db7ea1e6fa650d88cba7804ab8
CRs-Fixed: 3258049
Fix TX failure message flooding in the cnss diag log in the third
party platform when running UDP performance test in high bandwidth.
The TX follow controller might be disabled for the legacy ROME module
due to IPA might be not enabled in the kernel config.
Use rate limit print version to mitigate this error msg flooding.
Change-Id: Id33c2a42a6490f734e83343f6d26e37cd6887bbe
CRs-Fixed: 3256599