When vdev deleted and interface down, there are pending pkts in nbuf
queue of dp rx thread in cornel cases, when flush cmd comes, even vdev
is not found by vdev id, rx stack callback isn't set to NULL, pkts are
still delivered to kernel stack, but rx queue is invalid now, assert
will happen when GRO flush happens.
Fix by setting rx stack callback as NULL when vdev isn't found by vdev
id.
Change-Id: Iad3b71dbc86563a4f8b5369474b2a901cdf8b325
CRs-Fixed: 2995694
After reg work is complete there is possiblity EP vote reset
request still not processed by F.W. So wait till EP vote reset
is done after reg work completion.
Change-Id: I1f4e318ac96ba3a15c613c5faf5095d4be7c8e99
CRs-Fixed: 2994233
Add api to set intermediate EP vote access state.
Make sure reg work handler is complete before setting
intermediate vote access.
Change-Id: Ib229d9af8b1e58505a9ae5fbf39aa912ca21a3c3
CRs-Fixed: 2994040
Mark vdev as delete in process after flush out the packets in rx thread
queue currently.
If rx packet received after flush and before mark vdev as delete in
process, the packet is enqueued into rx thread queue and not flushed after
vdev deleted physically and net interface down. After that, if flush
pkts after interface down, assert will happen.
Fix:
Mark vdev as delete in process before flush out the packets in the rx
thread queues.
If the vdev is marked as delete in progress, then the
packets received on that particular vdev should not be
enqueued to dp rx thread any more.
Change-Id: If651a9e97b8501efc26400079194570ba6407f13
CRs-Fixed: 2996534
A new TLV is added to send partner link CSA/ECSA count offset to FW as
part of beacon template. Add WMI changes to populate these TLVs in the
beacon template send function.
To fix the compilation issue, added forward declaration of 'struct
vdev_mlme_obj' and removed 'include/wlan_vdev_mlme.h' include file from
wlan_mlo_mgr_public_structs.h.
Change-Id: I6e421b29bb887bec711a23db1458aca4d112ade4
CRs-Fixed: 2983249
Add support to calculate uplink delay on a per vdev basis.
The delay calculated excludes bus delays, where packet
enqueueing time and complete time are fetched from HW release
ring.
Change-Id: I4bbcbf28b197f7a87cb822a841f1f957ebcf063b
CRs-Fixed: 2958833
Convert PSD+BW to EIRP using the following formula
EIRP = PSD + 10 * log10(BW)
Since all the variables are integers, there are some
roundoff/truncation errors.
Change-Id: Ia98b97f4cfe47dcd94bfa54f3dd7be13c8696532
CRs-Fixed: 2995322
For various channel power calculations and comparisons,
the AP masters channels and afc channellists are needed.
Add APIs to get them.
Change-Id: Iff89c8aa402e786f5a1502c0e5b0b948e9a5d33c
CRs-Fixed: 2995322
Add a new component for MBSS framework in object manager.
Add a new trace module for the new MBSS component framework.
Change-Id: I7ef3559d90a6bc7f558e3994a1a91f09985d90e9
CRs-Fixed: 2958764
Add new events to the interfaces manager for the
following which requires inter vdev co-ordination
1. ACS
2. HT40 scan
These event are sent to the MBSS frameworkfor inter VDEV
co-ordination.
Add a string array ro represent interface manage events.
Add API to retrieve string from interface manager events.
Change-Id: I397621a432da70156e34f46f75fd6c0e8d0a7b53
CRs-Fixed: 2963147
In WMI INIT, check whether firmware supports the ack event or
not. If it supports then enable driver support and send it to
firmware during WMI INIT.
Change-Id: Icfdee6bc06e6a393de880b87fdab70665ea7c8b4
CRs-Fixed: 2987898
In case if TWT command (i.e setup, terminate, pause, resume,
nudge) comes from userspace and if the firmware is in below mode
1. scan in progress
2. roam in progress
3. CSA is in progress or
4. Any other error
then the command needs to be rejected in userspace context.
Synchronize the TWT command so that whenever command goes from
driver to firmware, then driver will receive ack event first
followed by respective event (i.e add dialog, delete dialog,
pause, resume, nudge) with below condition
1. If driver receives the ack event as successful then driver
waits for this ack event, respective event with status of the
TWT action frame over the air is expected.
2. If driver receives the ack event as failure then it will
rejects the TWT command in userspace context.
Change-Id: Ie885d98ecf2dad98d34676d889fd70e4c84f0a05
CRs-Fixed: 2987904
In MISSION mode, MSI address and data are still
configured for monitor status rings even though MCC
uses only polling mode for this ring.
Fix is to skip MSI configuration for monitor sts
ring in MISSION mode for MCC.
Change-Id: If295a5afc6731bbec1ad7182590e0015f3a911ba
CRs-Fixed: 2992167
Currently host is populating secondary channel list from master
channel list based on ap power type. In case fw doesn't support
extd cc event then secondary channel list will not have 6g freq,
which may break legacy 6g handling.
Fix is to add validation check for ext cc event support, copy
secondary channel list from ap power type in case ext cc event
is supported by fw else copy secondary channel list from reg
current channel list.
Change-Id: I2e13be2936b624ccbee5e8e426987355076a0062
CRs-Fixed: 2987951
skb_set_len and skb_pull operations are done in both
dp_rx_deliver_to_pkt_capture_no_peer and
dp_rx_deliver_to_stack_no_peer. Due to this, in the
issue scenario, EAPOL frame gets dropped in roaming
scenario since qdf_nbuf_is_ipv4_eapol_pkt returns
false.
Fix is to do a skb_push_head operation in
dp_rx_deliver_to_pkt_capture_no_peer API before
exiting.
Change-Id: I071a5248f9f8577c8a21547f67ec53d707dee0be
CRs-Fixed: 2982188
Add TWT service bit capability support to check whether firmware
supports ack event or not. If firmware doesn't support ack event
then service bit capability will become 0 and whenever TWT
command comes, host will not wait for ack event and sends command
in a legacy way.
This support is mainly added to handle new host and old firmware
combination.
Change-Id: I55d373c2e017130b58a4b332da16f0eda8f34eba
CRs-Fixed: 2987749
Add TSF cmd to enable and disable automatic TSF report from the target
to the host.
Change-Id: I17b255299f55b8e78968d951824726d533a7c6e9
CRs-Fixed: 2991909
Allow all raw frames to the upper layer without checking
for port authorisation. All checks in raw mode has to be performed
by the controller in case of raw mode.
Change-Id: Ica6df24b359790fcadc9bb7bbb4d7b5084930170
Add #ifdef around the body of the header file so that multiple
inclusions from the same translation unit does not fail compilation.
Change the type of the frequency variables (lowfreq, highfreq) from
signed to unsigned.
Changed the positions of the 16-bit variables (version_minor,
version_major) to avoid alignment error (8 Byte alignement).
Change-Id: I72b8f7acbf21a249e2380301b41739cbe06345d6
CRs-Fixed: 2988464
Include afc common service header file to fix compilation error for
spectral module files.
Change-Id: I14d6bdb6437cb3eea3b85a72dcb3a9760186cc4b
CRs-Fixed: 2988464
Add API to extract AoA phase delta and IbfCalValues from
WMI event. Also Add service bit to support the feature
Change-Id: I6f6514711345dd47c4be3673b8c40501feb763e9
Currently, excess logging is causing a crash when there is no
data to reap.
Rate limiting the log messages to avoid the crash due to excessive
logging in case of no data to reap.
Change-Id: I175f3f1b3c0b0173f171e971494f6ffda694b4a5
CRs-Fixed: 2988147
Changes to extract AoA phase delta values from WMI event.
The AoA phase delta values along with ibf calibration value
is shared to derive the phase values which is to be used in
CFR.
Change-Id: I70f50656db4194025a0b6b37c8b4a27048968e0f
Changes to derive chain phase values out of Hardware
reported agc gain and target reported AoA phase calibration
values. AoA for RCC to be supported based on target shared
capability. AoA phase delta & ibf cal values are shared by
target upon every channel change via WMI event.
Change-Id: Ic4fca3731b795e07a511388f6dbb15a46d676a77
Spur or leakage transmissions is observed in Spruce HW in
frequencies from 5260MHz to 5320MHz when one of the following
conditions is true,
i) The AP is transmitting in 52/56/60/64 in 80MHz mode and then the AP
moves to the adjacent channel 36/44/48 in 80MHz mode and starts
transmitting.
ii) The AP is transmitting in 36/44/48/52/56/60/64 in 160MHz mode and then
the AP moves to the adjacent channel 36/44/48 in 80MHz mode and starts
transmitting.
In order to prevent random channel selection to cause spur restrict the
above given channel movements for Spruce target alone.
Change-Id: I27b558ec5544076430f66c84b056ab65f9e43c8c
CRs-Fixed: 2975473
In function wlan_dcs_cmd_send(), pointer dcs_tx_ops returned from
function call target_if_dcs_get_tx_ops() may be null and will be
dereferenced, it's an issue to dereference dcs_tx_ops without null
check.
Fix is to add null check for dcs_tx_ops pointer before use in
function wlan_dcs_cmd_send().
Change-Id: If82f31bd8f5096a4e6562131426510907555140d
CRs-Fixed: 2989520
On 5.10 kernel need idle” functionality is moved from
<linux/sched.h> to walt (<Linux/sched/walt.h>), Replace
“PF_WAKE_UP_IDLE” checks with “IS_ENABLED(CONFIG_SCHED_WALT)”.
Change-Id: Icb89b0e6e9862ed5b82680379a1d2630c9b2b4d9
CRs-Fixed: 2990760
Add number of page desc check for TX/RX desc_pool de-initialization,
avoid unexpected assert in case SPT page_desc_list is not
initialized like SSR case.
Change-Id: I970f0e09a0631260e1cb0d1de23a1de3e8d13f24
CRs-Fixed: 2991334
Currently, partner info array in scan entry is contains self link
information in first index. to avoid confusion, update partner info
with only partner links information and store self link id in ml_info
of scan entry
Change-Id: I53992fee355613b8521409da412254c05fb63fbf
CRs-fixed: 2991229
Add QCA vendor attribute QCA_WLAN_VENDOR_ATTR_CONFIG_FT_OVER_DS
to configure FT over DS to the driver/firmware.
Change-Id: I0745c27c6bc0a8d1075d753f1d898870479105f8
CRs-Fixed: 2968681
Add a separate module ID for Multi Link Operation (MLO) Information
Element protocol processing related QDF trace prints. These are for
use in processing of any IEs related to MLO. This would help separate
the tracing of MLO IE operations which are expected to be substantial,
and avoid confusion that might arise from reuse of MLO manager
tracing.
Change-Id: If55532a89452b6432101be07fcc6aff45045e822
CRs-Fixed: 2985731
Define a new cdp interface structure and API for soc stats for use
by upper layers to fetch dp soc stats.
Change-Id: I314e952546551003da2ca7f69b2e1aa23c126e66
Replace util_scan_scm_chan_to_band with util_scan_scm_freq_to_band
to work for 6G channels.
Change-Id: I5f8843599cbea194a57cc7fc3b20163a7205f4e7
CRs-Fixed: 2987153