Host parse newely added vendor command
QCA_NL80211_VENDOR_SUBCMD_CONNECTED_CHANNEL_STATS and trigger
scan to get connected channel stats from FW in case of MLO
connection.
On scan done host sends scan done indication to upper layer
via QCA_NL80211_VENDOR_SUBCMD_CONNECTED_CHANNEL_STATS vendor
command.
Change-Id: I92dbd779c5fbdb1652a37cfa54c177bd13de4f28
CRs-Fixed: 3491060
Currently the packet tx handling for AP-multipass
assumes wlan repeater to be present. For targets like
qca6490, kiwi etc, wlan repeaters are not supported in
the network topology.
Hence to skip unwanted tx packet copy in per-pkt path,
move the code to handle packet tx to waln repeater in
multipass mode under a feature macro.
Change-Id: I8bb3fbc4f3de76c3ae04978d12d369fad5d2553f
CRs-Fixed: 3491508
ETHERTYPE_VLAN_LEN is defined in enet.h, which is not being
included in dp_main.c, which can lead to compilation error
if the MULTIPASS feature is enabled.
Include the enet.h header file for ETHERTYPE_VLAN_LEN macro
definition
Change-Id: I589123a0e2161486a430c6e8d6ca18e5907252d4
CRs-Fixed: 3494435
IEEE 802.11be enables multiple links between STA and AP. Each of the
link has its own set of statistics. Add additional attributes required
to fetch link layer statistics per MLO link.
For MLO connection, per MLO link statistics will be sent with the new
attribute QCA_WLAN_VENDOR_ATTR_LL_STATS_MLO_LINK. Also, cumulative
statistics of all the MLO links will be sent outside
QCA_WLAN_VENDOR_ATTR_LL_STATS_MLO_LINK to be compatible with legacy user
space.
For non-MLO connection, the statistics will be sent without being nested
inside QCA_WLAN_VENDOR_ATTR_LL_STATS_MLO_LINK attribute.
Change-Id: I2abe31ad754e59c101ff79dd3ae956bc93880a33
CRs-Fixed: 3488156
Changes done to move stub functions present in source file under
WLAN_MGMT_RX_REO_DEBUG_SUPPORT flag to header file.
Change-Id: I34297a48b67fb3200fed7e5e4b842647125d4fb0
CRs-Fixed: 3481641
Update rx_fast_flag for Rx protocol tag feature irrespective of
enhanced_stats_en flag.
Change-Id: Ibea2869cc182ad7d1683692d86b01de542cbddd0
CRs-Fixed: 3481654
ring history array size is large. Change is aimed
to split the allocation into small trunks to avoid
memory allocation failure.
Change-Id: If977baab23718d0186ad2ce6d33319b52096f2f9
CRs-Fixed: 3479226
Add an API to iterate through all vdevs and check if any vdev is
in CAC in-progress state.
When DFS CAC is going on for SAP, if 5 GHz mac is occupied by the
SAP and it's not available for 5 GHz NAN discovery. Enabling NAN
on 5 GHz in such cases cause inconsistency in firmware state machine
and firmware may assert as DFS MAC is not supposed to be disturbed
while CAC is going on.
So, check if NAN enable request has 5 GHz NAN channel also and reject
the request. Allow NAN enable command if it's 2 GHz only NAN enable
request, while CAC is going on.
Change-Id: Idcd92e29d4b6078332d439efb75eba6800e986bb
CRs-Fixed: 3492054
Define bitmap values used by LL_STATS vendor command
and update the corresponding kernel documentation.
Change-Id: I70c86926a19907a2a1053bccbd7b316b198e1fb8
CRs-Fixed: 3488125
Currently the vendor attributes qca_wlan_vendor_attr_ll_stats_set,
qca_wlan_vendor_attr_ll_stats_clr, qca_wlan_vendor_attr_ll_stats_get and
qca_wlan_vendor_attr_ll_stats_results for LL_STATS vendor command
are not in sync with the upstream code.
So, fix the differences and match downstream code for LL_STATS vendor
command with upstream code.
Change-Id: I373470e1217f7da82bb25b40e07ed96d1b1a1d6c
CRs-Fixed: 3489509
Allow modification of ML Reconfig AP remove delete timer at non-AP MLD
even if the AP removal is already in progress. The standard does not
currently provide for modification of the delete timer countdown at AP
MLD. However, if the AP MLD does carry out such a modification in
scenarios such as those given below, the non-AP MLD would be out of
sync with the AP MLD. Hence, we allow this modification.
Scenarios:
- At our AP MLD, if non-Tx VAP removal is ongoing, and subsequently
removal of its Tx VAP is requested with Delete Timer smaller than that
of non-Tx VAP, then non-Tx VAP's Delete Timer gets overridden with
that of the Tx VAP (this is due to an existing standards limitation
which doesn't allow change of Tx VAP role).
- There could sometimes be an issue with AP MLD due to which it might
incorrectly prolong the countdown by some margin in situations such as
an intervening CSA operation, etc.
- Some future 802.11be draft change may (or may not) allow
modification of the delete timer. (We may not guarantee
interoperability between an AP MLD implementing a future draft and a
non-AP MLD implementing the current draft, but the current
implementation change contributes towards best-effort
interoperability).
Change-Id: I6abc7565a5822bb7206c873716f1e3fc6a04416e
CRs-Fixed: 3466313
Optimize beacon/probe rsp logs, by printing the params when
their values are non 0. Thus reducing the logs size.
Also add the frame length in the logs.
Change-Id: I6cad77b6cdc4576804cdabd9f53235029e6cebd7
CRs-Fixed: 3490632
scan db has intersected phymode. For BSS information via iwlist we need
non intersected phymode.
Change-Id: I62a4aea33a67ac12b5be5bcdd4a3fc4538056df9
CRs-Fixed: 3454700
In case of MLO connection, firmware sends each vdev's
status information using extended vdev stats event.
Add support in driver to extract it.
Change-Id: I95f2a96cb7034b5b070cc6f37a97591e01e5893a
CRs-Fixed: 3483730
This is to fix serialization pending command timeout during vdev stop.
For case that two vdev is up state, i.e. vdev 1 is going to stop state.
There is an active command is running, then all commands in serialization
pending or active list for vdev 1 are canceled, so this last active vdev 1
command can't callback to dequeue itself from pdev active queue, and it
also doesn't do operation to move pending command to active queue.
So now if there are still other commands which are for vdev id 2 in pdev
pending queue, no one will schedule this pending command to active list,
until any pending command is timed out.
Add change to move pdev ser pending command to active list if all active
vdev non scan commands are canceled.
Change-Id: Ie47c9aa8153078266307a7d0b6c4585e2af9ed50
CRs-Fixed: 3474552
In extap mode if the received packet matches with mld mac address drop it.
for non IP packets conversion might not be possible,
due to that MEC entry will not be updated, resulting loopback.
Change-Id: Ibec080b619e9b0a8068e1c90acbcc144d44d8f54
CRs-Fixed: 3485362
Enable/disable copy complete interrupt in HOST IE register and
clearing the interrupt status in HOST IS register is not required
for WCN6450 as it uses MSI and batch count/intr timer.
Change-Id: I2285651a75d01546498831e91705a989f7f60fd5
CRs-Fixed: 3470364
Adding support for reset PN value using
WMI_HOST_PEER_FT_ROAMING_PEER_UPDATE peer command.
Change-Id: Ib486d09c80878d41efa299756e655d66babd825d
CRs-Fixed: 3490034
Kernel 6.0 and above has deprecated the use of
topology_physical_package_id() and instead of this
API topology_cluster_id() needs to be used to get
the cluster ID of a given CPU.
Add QDF abstraction API for topology_cluster_id().
Change-Id: I4ca555c016730afc6cac2a4bf55d9f48c6f4cae0
CRs-Fixed: 3488031
Currently, there is no provision to identify that the driver supports
NAN pairing protocol. So, new kernel and new firmware will start
exchanging PASN frames without realization that old driver is loaded
and thus, frames will be drops in driver.
So, to fix this issue, firmware introduces new parameter in nan
capabilities to indicate host about pairing capability. Host driver
extracts the TLV to get nan capabilities and cache the max num of
pairing session.
Change-Id: I4153c7ec4d425294b0799122bf61e735184f0960
CRs-Fixed: 3492518
Currently in the function ptt_sock_send_msg_to_app(), memcpy()
is used to copy data into multiple fields of the struct tAniHdr.
When FORTIFY_SOURCE feature is enabled, kernel warns of field-spanning.
To resolve this issue, assign a void pointer to the struct and use it
in memcpy().
Change-Id: I30311b063e735a89dfd38e029dacc80d6808a4af
CRs-Fixed: 3488513
In the enum wlan_cm_connect_fail_reason, the value of
member CM_NO_CANDIDATE_FOUND is modified to 1 in order
for value of members of the enum will begin from 1.
Change-Id: I3f4686b32cec92b45e03b30b4293b4571a3f01fe
CRs-Fixed: 3486473
Set flags in WMI peer assoc to inform FW if node is
1. QCN Supported
2. Operating in Multi-AP mode
If node is 3rd party and operating in Multi-AP mode,
FW and uCode will change crypto register for each Rx/Tx from/to such nodes
Change-Id: If4cf9ec39fa11a90733df45fffa473a672643f8e
CRs-Fixed: 3488865
Low throughput is seen with interop clients when
set key is issued before wmi_peer_assoc command,
hence avoide key install before wmi_peer_assoc.
We are check here to verify the key install success
or failure.
Change-Id: I553a5ed01165354afc19885b4f62c13632908808
CRs-Fixed: 3274020
IEEE80211_* macros are defined in WIN specific header file which is not
available on MCL side, Hence replace these macros with QDF_IEEE80211_*
macros available in common header file
Change-Id: Ic2caaebacd9edded23aebefab87cd82dbbb06974
CRs-Fixed: 3415721
Separate out the common function implementing both RX 2.0 and TX 2.0
functionality in to RX 2.0 and TX 2.0 separate functions.
Change-Id: I29337aca9851dce1888a492a9534992277f595b5
CRs-Fixed: 3427301
Currently WIN supports RX/TX 2.0 but MCC needs to support RX 1.0 and
TX 2.0. Hence implement the mon_ops callbacks as array of callback
pointers. Index 0 for 1.0 and Index 1 for 2.0.
Change-Id: I777b47be3af86f0b762b3563ef56204809a9a7ee
CRs-Fixed: 3427297
Currently QCA_MONITOR_2_0_SUPPORT macro is used for both TX and RX 2.0.
but on MCC side, only RX 1.0 is supported and as part of this feature
TX 2.0 need to be supported.
Enabling QCA_MONITOR_2_0_SUPPORT will enable both RX 2.0 and TX 2.0, but
to support RX 1.0 and TX 2.0, we need to separate out code under
QCA_MONITOR_2_0_SUPPORT to TX and RX 2.0 macro.
As part of this change, introduce separate macros for TX 2.0 and RX 2.0
and move the common code under both macros.
Change-Id: I7ef7e488800934291538a0bca9acd21e28901214
CRs-Fixed: 3415740
Add a new cfg item to drop connection request if
AP is operating in 6 GHz SP mode and STA doesn't
support SP mode but supports VLP mode.
Change-Id: Icbe109abecdd73ceedee8ecec45ae82cd47464e0
CRs-Fixed: 3470599
relaxed_6ghz_conn_policy cfg item is no longer needed
with new regulatory policy as there is no dependency
on STA, AP country code to find 6 GHz power mode for
connection and also connect request should be rejected
if AP is advertising VLP and STA doesn't support VLP.
Hence remove this cfg item and the related APIs.
Change-Id: I215939bdce2e08eb9d4c5286487941198ab19232
CRs-Fixed: 3470569
Find the best 6 GHz power type for connection
according to following regulatory policy:
1) SP power type is selected only if AP advertises
SP and client supports SP.
2) LPI power type is selected only if AP advertises
LPI and client supports LPI.
3) VLP power type is selected for the below cases,
a) AP advertises VLP and client supports VLP
b) AP advertises SP but client doesn't support
SP but supports VLP.
c) AP advertises LPI but client doesn't support
LPI but supports VLP.
Change-Id: I6e3b9fc4bf7445c58681ef0ea8e45b434851a5b6
CRs-Fixed: 3456182
Add api support to read the pointer to recovery mode in shared
memory, this pointer will store the if the mode recovered is
mode1 or mode0
Change-Id: I9e8dbd32c62dbb75d27d590a5013b4a9837fae24
CRs-Fixed: 3458369