Changes to handle CFR information from ppdu_info in
enhanced stats disabled case.
In enhanced stats enabled case, CFR info is handled in
dp_rx_handle_ppdu_stats API.
CRs-Fixed: 3214538
Change-Id: I41ea6e080f5ede661eed06764939fe2feaa6102e
When the SSR and interface down happen in parallel,
the driver rejects the interface down since the
recovery is in progress. Kernel ignores the -EAGAIN
request from the driver and as part of NET_DOWN notification
in cfg80211_netdown_notifer the kernel invokes the
___cfg80211_scan_done to free the request but doesn't not send
scan_result indication, since it expects the scan_done work to
get scheduled and then broadcast the request to upperlayer.
The scan done checks currently only if the interface is up replace
it with driver specific internal driver state.
Change-Id: I0e5ac319783b9c1a69e7e19674f76f20da1d1590
CRs-Fixed: 3202812
Generally below process should happen in renegotiation failure
case.
1. TWT setup (successful)
2. TWT setup (renegotiation failure)
3. TWT teardown
4. TWT GET STATUS - 0(dialog ID) 0 0 0
5. TWT setup - successful
Since all WMI TWT events gets executed in WMI thread. So when
renegotiation failure case hits, driver sends TWT
teardown to firmware and waits for twt ack in worker thread.
In same worker thread TWT event needs to be processed.
TWT ack event will not process as it's waiting in same worker
thread and it will get timedout.
As part of fix, break the context in renegotiation and
send the teardown in the new worker context.
Change-Id: Id12cb906b780d3013562c1772e276639a056c8f7
CRs-Fixed: 3207537
This enables the option to configure when a peer's
TID queue needs to be flushed. This is required to
discard packets that are no longer useful to the application.
Change-Id: I558debff043fc0c8038e5f5f2c815b64c90e1561
CRs-Fixed: 3130422
Add changes to check if current descriptor which
is being process is not already reaped. In case
if the descriptor is already process and yet to
be replenished drop the descriptor and continue.
Change-Id: I2c46b7f4e50a27e2566f0ce2d9708cecb26c38e4
CRs-Fixed: 3177257
Add QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_11BE_EMLSR_MODE
value to allow or disallow eMLSR hardware mode for 802.11be
MLO capable devices. If this attribute is set to 1, and if
the FW supports this capability too, then the STA host
advertises this capability to AP over assoc request frame.
This attribute will not have any effect on legacy devices
with no 802.11be support.
Reference - https://w1.fi/cgit/hostap/commit/
?id=563162a5f521965e582acc32d7ce3034fa8fb32e
Change-Id: I4ae2cbbc6adcfef8fbc225bef60b3597771786f7
CRs-Fixed: 3185027
When either of the macros CONFIG_AFC_SUPPORT or CONFIG_BAND_6GHZ are not
defined, the function wlan_reg_is_afc_done returned false by default.
As a result, the upper layer set all the 6GHz channels to NO_IR and the
vap was unable to come up.
Fix this by returning true from wlan_reg_is_afc_done when either of those
macros are not defined.
Change-Id: I4acb564023d2a2b318ba1497fd858a02987c117a
CRs-Fixed: 3214096
Use CONFIG_SAWF macro to prevent linking dp_set_delta_tsf in
low memory profile.
Change-Id: I07b75f893e6d043839225d9b7288823b6ef2f823
CRs-Fixed: 3211426
Add eMLSR support for ML STA. It consists of 2 changes-
1) Since POLICY_MGR_HW_MODE_EMLSR_MODE_BITPOS macro has value of 32, a new
SET BIT function has been implemented to accommodate the 64-bit operation.
2) Add eMLSR related params to peer assoc mlo param struct to update FW
via peer assoc request.
Change-Id: I6e54c632677eacabc57338b0f159d97023b100f2
CRs-Fixed: 3185010
Puncture bitmap is binding with channel bandwidth. If the STA can't
support bandwidth as AP broadcasts, STA need extract puncture bitmap
based on the negotiated bandwidth.
Add API to extract puncture bitmap based on new bandwidth.
Change-Id: I089d010c6b327ba20e21aec0b8110323108cbda3
CRs-Fixed: 3207683
If puncture of primary 20M channel of beacon or probe rsp is not 0, the bss
is invalid and filtered out when DUT STA select candidate AP to connect.
Change-Id: Ic27c75ab07ec91a80164a12b0928c98bc8911f99
CRs-Fixed: 3208103
Get mlo partner link freq from RNR IE.
Use band bitmap to filter mlo AP by band.
Force link on 2 GHz: mlo_support_link_band=1
Force link on 5 GHz: mlo_support_link_band=2
Force link on 6 GHz: mlo_support_link_band=4
Change-Id: Ib11dee117bef6121bbc455b62a2803138881a72a
CRs-Fixed: 3211974
Aid pool is divided into three pools. pool0 and pool2 is for legacy and
MLO clients. pool1 is for T2LM enabled clients. This is done to ensure
that T2LM enabled clients are starting from particular index so that
multi-link traffic element can be updated optimally.
Change-Id: I2d5fe50a6ba339e89f4b65febc7b1b1bbb200477
CRs-Fixed: 3205993
Don't overwrite the return value yet because there are
other conditions checks that need to return false when
error is detected.
Change-Id: I75a7d61fd665631cfafca7e92cf6a4f346eb0410
CRs-Fixed: 3206749
NAPI scale factor should be configured based on the board
type. for example Hawkeye could have a different scale factor
compared to Alder.
CRs-Fixed: 3212330
Change-Id: Ie0bad6aade9ca9379997aa974154f9fb903ab93e
In backhaul WDS, Check for addr4 valid only when the
received frame is first msdu.
Change-Id: Ib92ba0fc8b7a651c0c875cdde21f2d5538db2a32
CRs-Fixed: 3214575
Add support for new HTT_T2H_MSG_TYPE_RX_ADDBA_EXTN and
HTT_T2H_MSG_TYPE_RX_DELBA_EXTN handling.
Change-Id: Ie06891092e5bf552bf721404222fb1b0b624ba36
CRs-Fixed: 3208118
For QCN9224 target, All the MIC failures are reported
as decrypt error from FW.
So, added changes to handle MIC failures for QCN9224
target .
Change-Id: I32e616e01e3cd6e76ef105d73fd8a87ce2c81cb9
CRs-Fixed: 3192749
When user makes a request for stats using Link peer mac address,
then fetch per pkt stats from MLD peer for Link peer.
Change-Id: I64e0b10eaca82c87e7066d3ca1dbefad63a186a8
CRs-Fixed: 3208757
For telemetry agent, some more statistic support is required.
Hence, add support for telemetry agent required stats.
Change-Id: Ieb2210a4a5dfe6fa0a0dd46a85f2d9ae483bb746
CRs-Fixed: 3210797
Add WMI command for tx peer filtering. This command is needed to send
the mac address to FW for which tx monitor peer filtering is needed
to be done.
Change-Id: Ia141fba81ba240b7f4ca015eb9251e3485294bb6
CRs-Fixed: 3199493
Add ini support to configure TC ingress filter priority
value which would be used for TC based dynamic GRO.
Change-Id: I1742f4539353939e3a40ff4096b3f833f2029b12
CRs-Fixed: 3206817
The HR timer runs in hardIRQ context and tries to acquire a bh_spinlock
held by a SoftIRQ context, which leads to deadlock.
To fix this, create a workque and let the workque execute the timer
callback function.
CRs-Fixed: 3200600
Change-Id: I6e702acade6d4e1d75470339ead0e591e7b8e4d8
select assoc peer as primary umac,
1) if all links are from single PSOC
2) single link MLO connection
Change-Id: Ia38e6809ef7d0201a2267051b8b4bcec7b36547f
CRs-Fixed: 3203804
1) Do not free Tx VAP's AID manager, if AID manager of
non-Tx vap and Tx vap doesn't match
2) Do not allocate AID manager for MLD vaps, if AID
manager is already allocated
Change-Id: I08b19397540f364503eaa1c269c6d0679a9a9fc0
CRs-Fixed: 3212368
Module unload is getting trigered in between
Vap restart due to channel switch
while waiting in monitor module unload for 500ms VAPs are coming up.
And after wait, during monitor pdev deinit
HOST start receiving stats indication.
Monitor pdev is getting dettached while processing stats indication.
Move register/derester of stats handler to intr ops.
Change-Id: I821c144f54bfe78c567039ab57fcf1eac7cb4f46
CRs-Fixed: 3192980
Remove forward declaration of util_scan_get_he_6g_params. This
declaration is not required and is resulting in compilation
issues.
Change-Id: I43ac0839fa2a17d6e91811643d3ceb72c925e92f
CRs-Fixed: 3210127
WIFIRX_STATUS_BUFFER_DONE_E tlv indicates the dma
to monitor status ring is complete. Currently this
tlv is unhandled and the logs are flooded with error
message for this TLV being unhandled.
Handle the status buffer done tlv to remove the
unnecssary logging onto the console.
Change-Id: Ie1ac6adf46092ba7bff3ee4a3262fc98c8a6eb3d
CRs-Fixed: 3208659
Adding MLO timestamp offset reported from firmware to tsf time for
radiotap header.
Change-Id: I2947dacf6c37214e60d70fcb3df4a5f9897356ac
CRs-Fixed: 3211179
Parse EML capability sub field present in Common Info field of Basic
Multi-Link element from Association request send by non-AP MLD.
Add new API to get EML capabilities from the ML IE.
Update definitions for EML as per IEEE802.11be D1.5.
Store parsed EML capability in node to send these to Target.
CRs-Fixed: 3203322
Change-Id: Ib208ba2d8e86df7360656c1c844e4835a93cedc4
Add boundary check for the newly generated frame per subelement.
It should not go beyond the original beacon frame length.
Change-Id: I6de5519052a47119ec0a294941244c1b277233fc
CRs-Fixed: 3194793
IPA driver is not able to deregister the netdev iface
as the WLAN driver is unregistering the netdev before
giving event to the IPA driver, hence IPA driver is unable
to map the local iface mapping.
FIX is to pass the netdev interface id to IPA driver
so that IPA can get the correct netdev.
Change-Id: I6011bc01a56d90287e3a0f93b3cddf9e4b0fff9b
CRs-Fixed: 3165336
IPA driver requires netdev iface_id at client disconnect event
so that the IPA driver can unregister the local interface.
Fix is to pass the netdev iface id from wlan driver to IPA
at client disconnect event.
Change-Id: Idf79553ee2a9574bf8213e69c46229a3843fca84
CRs-Fixed: 3165336
Add sanity check to avoid out of bound memory access
for protocol and flow tag update in monitor ring
CRs-Fixed: 3206715
Change-Id: Ie326137db8a6c9c1ee1faab69627ecd5eb51ad3e
Start searching for IEs in the multi-link per-STA
profile from the STA Profile field instead of the
STA Control field to avoid invalid checks that may
arise due to other fields in-between.
CRs-Fixed: 3199541
Change-Id: I0a0f5b6c83135974820d2870e00f6dcf9eab61fe
Add cdp api to get accumulated pdev tid stats along with per tid
total tid rx and tx stats.
Change-Id: I7862c4265f199d0588d8865c5ed97e06010dd79f
CRs-Fixed: 3207499
Add support to get per pkt stats from MLD peer for primary link peer
only when user requests for link peer stats.
Change-Id: I6df0daa4a175cc5869012538294ed41ae2443e48
CRs-Fixed: 3203506
chan_params structure is uninitialized, due to which variables
inside the chan_params structure have garbage values.
To avoid this, initialize the chan_params structure.
Change-Id: Ic09c0a2d24c2a1eac8f076c7bbd4d25d147370fd
CRs-Fixed: 3205502
Currently, for kiwi, the tlv parsing from monitor
status buffer stops when it encounters MPDU_START
tlv. This happens since the return value after the
parsing of MPDU_START is not one amongst the allowed
return values for the tlv parsing to be continued.
Add MPDU_START tlv parsing return value to the allowed
return values, in order to continue the parsing of tlvs
from monitor status buffers.
Change-Id: I51cfecb7df8d8055a37e1b898419ec322dad63db
CRs-Fixed: 3203708
Add WAR to skip multiple ring entries in case if DMA is not
done for more than one entry in monitor status ring
CRs-Fixed: 3206692
Change-Id: Id24deb18d173e521efda38716244f375a409d7f5
In case Multi chip MLO configure same hash key for
all SOCs in MLO. This change is needed to avoid
same flow traffic distributed to multiple REOs.
Change-Id: Ib6cde4ae32e58ef2d45c02d640c133458f5bfac5
CRs-Fixed: 3201978