Enable bits in WMI_INIT command to let the FW know about host's
capability to support notify frame feature. If the feature is enabled,
host can mark certain TX frames as "notify frames" for hardware and they
need not be sent to FW. FW depends on this capability exchange to decide
whether to install HW rules for frames to be sent to HW.
Change-Id: I7158e79ae0fbdc73a2f4096ae1577337e8291246
CRs-Fixed: 3209399
Since more than one components depend on reap timer of
monitor status ring, add bitmap to record the trigger
sources of the timer and refine the APIs/calling functions
accordingly.
With this change:
When a new start request comes, if the source is
CDP_MON_REAP_SOURCE_ANY, skip bit set, and start timer
if any bit has been set in the bitmap; while for the
other sources, set the bit and start timer if the bitmap
is empty before that.
When a new stop request comes, if the source is
CDP_MON_REAP_SOURCE_ANY, skip bit clear, and stop timer
if any bit has been set in the bitmap; while for the
other sources, clear the bit and stop timer if the bitmap
is empty after that.
Change-Id: Idaa7837c4b93b247ff2236aa5072d309fa9548c2
CRs-Fixed: 3190347
For non-self sta peer (sta_self_peer is set to 0) and in error cases
like (WMA peer create failure), peer->txrx_peer is NULL which
indicates DP peer setup has not happened and therefore there are
no rx cached frames flush. Having a qdf_assert_always() if sta_self_peer
is set to 0 is incorrect. This a valid scenario.
Hence remove the irrelevant qdf_assert_always().
Change-Id: I1ab18dd681534bb9257be388a74adedc529a67cf
CRs-Fixed: 3212253
-Wimplicit-fallthrough is being enabled by default. Some compilers
such as clang require the attribute instead of just a fallthrough comment.
Change-Id: I7e8efaa680c26d9e4a12268e97c1a82a7c7a7a44
CRs-Fixed: 3216249
As part of a transition of basic MLO functionality to IEEE802.11be
D1.5, add definition for 'All Updates Included' in MLD Parameters
subfield in TBTT Information field present as part of TBTT Information
Set in Neighbor AP Information field of Reduced Neighbor Report
element.
Change-Id: I2e8b08e5d23ac51168455116d1772d484682815d
CRs-Fixed: 3197190
As part of a transition of basic MLO functionality to IEEE802.11be
D1.5, add definitions and receive processing for the signaling of the
presence of BSS Parameters Change Count subfield in STA Info field in
Per-STA Profile subelement in Basic Multi-Link element Link Info
field. This presence is signaled by a new bit in the STA Control
field of the corresponding Per-STA Profile subelement. Rename the
definition for BSS Parameters Change Count (sub)field size to make it
generic since it may occur in various protocol signaling areas
related to MLO.
Change-Id: Ieb17f65547b7106442369b51cd6bc303046a224a
CRs-Fixed: 3197012
1) Change the following country mapping for WIN
i) Change 5GHz regdomain of Aland Islands to ETSI13.
ii) Change the mapping of Christmas Island to APL25_ETSIC.
iii) Change 2GHz regdomain of Colombia to FCCA.
iv) Change the mapping of Cook Islands to APL26_ETSIC.
v) Change the mapping of Heard Island and McDonald Islands to APL25_ETSIC.
vi) Change the mapping of Niue to APL26_ETSIC.
vii) Change the mapping of Norfolk Island to APL25_ETSIC.
viii) Change 5GHz regdomain of Sri Lanka to ETSI15.
ix) Change 5GHz regdomain of Svalbard and Jan Mayen to ETSI1.
2) Change the following country mapping for Linux Android
i) Change 5GHz regdomain of Aland Islands to ETSI13.
ii) Change the mapping of Christmas Island to APL25_ETSIC.
iii) Change 2GHz regdomain of Colombia to FCCA.
iv) Change the mapping of Cook Islands to APL26_ETSIC.
v) Change the mapping of Heard Island and McDonald Islands to APL25_ETSIC.
vi) Change the mapping of Niue to APL26_ETSIC.
vii) Change the mapping of Norfolk Island to APL25_ETSIC.
viii) Change 5GHz regdomain of Reunion to ETSI13.
ix) Change 5GHz regdomain of Sri Lanka to ETSI15.
x) Change 5GHz regdomain of Svalbard and Jan Mayen to ETSI1.
3) Change the following country mapping for DSRC
i) Change the mapping of Christmas Island to APL25_ETSIC.
ii) Change the mapping of Cook Islands to APL26_ETSIC.
iii) Change the mapping of Heard Island and McDonald Islands to
APL25_ETSIC.
iv) Change the mapping of Norfolk Island to APL25_ETSIC.
v) Change 5GHz regdomain of Svalbard and Jan Mayen to ETSI1.
4) Change the maximum bandwidth of the following 5GHz regdomains to 320MHz
i) FCC3
ii) FCC8
iii) FCC13
iv) FCC14
v) FCC17
vi) FCC18
vii) ETSI12
viii) ETSI13
ix) ETSI14
x) ETSI15
xi) APL19
xii) APL20
xiii) APL26
xiv) APL27
5) Add the following 6GHz regdomains
i) APL6_CLIENT_LPI_6G
ii) APL6_AP_LPI_6G
iii) MKK1_AP_LPI_6G
iv) MKK1_CLI_LPI_6G
v) MKK1_AP_VLP_6G
vi) MKK1_CLI_VLP_6G
6) Add the 5GHz_2GHz regdomain pair ETSI15_ETSIC.
7) Add the 6GHz super domains APL6_6G_0A and MKK1_6G_0B.
8) Set the 6GHz regdomain as ETSI1_6G_02 for the countries Aland Islands,
Andorra, Curacao, Cyprus, Czech, Denmark, Falkland Islands, Faroe Islands,
Finland, France, French Guiana, French Polynesia, French Southern
Territories, Guadeloupe, Guernsey, Ireland, Isle_of_Man, Jersey,
Liechtenstein, Lithuania, Malaysia, Malta, Martinique, Mayotte, Montserrat,
Morocco, Netherlands, Netherlands Antilles, New Caledonia, Portugal,
Reunion, Saint Helena Ascension and Tristan Da Cunha, Saint Pierre and
Miquelon, Sint Maarten, Spain, Svalbard and Jan Mayen, Sweden, Switzerland,
Virgin Islands British.
9) Set the GHz regdomain as APL6_6G_0A for the country Saudi Arabia.
Change-Id: Ib9cb9f2983e3302d138d831bce15e87451cebd68
CRs-Fixed: 3200990
Add enum REG_AFC_EXPIRY_EVENT_STOP_TX, which is mapped to
WMI_AFC_EXPIRY_EVENT_STOP_TX, to reg_afc_expiry_event_subtype and handle
the event in the exact way as REG_AFC_EXPIRY_EVENT_SWITCH_TO_LPI event is
handled.
Change-Id: I5289ea1b51e0c2d7573e60a23ded69295252f8d6
CRs-Fixed: 3209048
If a new disconnect/connect req tries flush the pending
disconnect/connect request and while doing so, it
remove the CM pending request, but before it tried to
remove pending command from serialization, the command
becomes active in another thread.
This active command will try to fetch the CM request
which is removed and thus return without any handling.
This lead to active command timeout for the request.
To fix it remove the command from serialization active
queue, if disconnect/connect request was not found in
CM request list after the command become active.
Change-Id: I81d147060fb21d17e4aa82e99c073d1bd0c5db68
CRs-Fixed: 3212746
Call trace is observed in the function dp_rx_per_core_stats_update()
with the following message.
"using smp_processor_id() in preemptible"
Use qdf_get_cpu() as it takes care for disabling preemption.
CRs-Fixed: 3203385
Change-Id: I9761bf707b5ee92c7e0bb698c2825c9369efd7d5
This change rejects association if MLD MAC address of Station
is same as AP MLD MAC address.
Change-Id: Ie8cafcf8bf0033dc63efbcd0047ddcabf996942b
CRs-Fixed: 3212459
Add API reg_is_sta_connect_allowed and it's wrapper function
wlan_reg_is_sta_connect_allowed to check if STA VAP connection is
allowed.
Change-Id: I7316545cf199deb6ceb64aa2bb30287fc9b8a34a
CRs-Fixed: 3195189
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