Adding compact tlv support for QCN9224, As part of this change
Rx tlv size will reduce from 384 bytes to 128 bytes.
Change-Id: I3f42a781e42b2e696a5b25d9c5f333c8cc83b7fe
CRs-Fixed: 3274152
With WIFI_MONITOR_SUPPORT=n and WLAN_TELEMETRY_STATS_SUPPORT=n,
declaration of struct cdp_peer_telemetry_stats within function
dp_monitor_peer_telemetry_stats is not visible.
Hence add WLAN_TELEMETRY_STATS_SUPPORT feature flag for function
dp_monitor_peer_telemetry_stats when WIFI_MONITOR_SUPPORT=n.
Change-Id: I2e4a789552296361c189552707d3e3c441a042e3
CRs-Fixed: 3310407
The function dp_monitor_reap_timer_suspend() is not
declared for WIFI_MONITOR_SUPPORT disabled case, which
will cause build failure.
To fix it, declare dp_monitor_reap_timer_suspend() in
'dp_internal.h' for WIFI_MONITOR_SUPPORT disabled case.
Change-Id: Id4d246975ccf9eec06a8c794fbbe71f8a934826b
CRs-Fixed: 3309771
Introduce the feature to hide SSID in the logs.
To enable this feature, set CONFIG_WLAN_TRACE_HIDE_SSID to y.
If this feature is enabled, SSID 'my_ssid' will be printed as
'*' in the logs.
Change-Id: Ibdafe1f202de805d9116d780f79f015a8a6bd2ee
CRs-Fixed: 3294362
Add support for:-
1. PPE VP entry attach and detach.
2. Per VAP PRI2TID Support
3. Dump the PPE VP HW entries.
4. Add tx completion handling for ppeds descriptors
Change-Id: I2a6d0be5bb556663a39a24d17b703877f3b5ad00
CRs-Fixed: 3276981
Currently the driver is trying to notify the userspace
upon disconnect on partner link. If initial connection on
partner link fails and a NB disconnect was triggered at the
same time, moving the state machine to disconnecting, the driver
is clearing the mlo vdev flags.
To address this issue, check for the connection state
and clean up the mlo vdev flags after disconnect is complete.
CRs-Fixed: 3309091
Change-Id: I2e52ae225d33f3ff7be06e0a3abe8709f42012ee
Currently we cannot track vdev ref_cnt change with
peer creation and deletion. This change will help track
the vdev ref_cnt and detect if any pending unreference is
causing inactive vdevs.
Change-Id: I5548667b0f1541efb583f912f6b7ef8a88853f5b
CRs-Fixed: 3303571
Currently the mpdu level flags/values are obtained
from the MPDU_START tlv of each msdu, when processing
in the RX error path.
The MPDU_START tlv is valid in an msdu only if it is
the first msdu-in-mpdu and will not be valid for all
the subsequent msdus-in-mpdu.
Accessing and using the incorrect values from the
MPDU_START tlv leads to unwanted exception/behaviour.
To fix the above mentioned issue, cache the mpdu level
information from the tlv when processing the first
msdu-in-mpdu and use it for the processing of the
subsequent msdus from the same mpdu.
Change-Id: Ic0b47716d3d428bb0b536c4ee23c1392f183d1fe
CRs-Fixed: 3306327
For STA MLO connection, AP might send M1 right after assoc response
on assoc link, but at this monment, host has not sent wmi_peer_assoc
for the assoc link and no osif_rx is registered to dp_vdev, MLD peer
will not be initialized in FW side and no HTT MLO peer map msg to host,
then this M1 frame will be detected as no valid txrx_peer and dropped
in host as dp_vdev->osif_rx is NULL as well.
Store this M1 frame to cached buffer queue until CP register the osif_rx
to DP and then flush them back to stack.
Change-Id: Ie84fa9c39db75fe77b9fd61dc1bf46f2fa737df7
CRs-Fixed: 3289587
For STA MLO connection, the AP can send M1 right after assoc
response on assoc link, which will trigger sending keys to FW
for mlo links, but it can happen that wmi_peer_assoc is not
sent for mlo link until this time.
Current code does not have handling for this case.
To solve this, store the link vdev keys and send them once
link vdev is connected.
Change-Id: I882da96280711ca9cfa4d6ba852fda4a8b6d7a77
CRs-Fixed: 3293692
On the initiator side, Host needs to send
WMI_VDEV_ADD_MAC_ADDR_TO_RX_FILTER_CMDID to firmware before sending the
PASN Auth frame. Hence, move send_set_mac_addr_rx_filter_cmd_tlv() from
wmi_unified_p2p_tlv.c to wmi_unified_tlv.c file.
Change-Id: Ia5517dbdd5ec46f611537b12b7046e3a9d859082
CRs-Fixed: 3304909
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: Ibcac7880af9a6029fe9fe8584349743249c45b86
CRs-Fixed: 3308194
If repeater is configured as dependent WDS repeater, call the
handler to bringup/bringdown all the standalone AP vaps in the
repeater once all the other AP vaps present in the AP ML context
are up/down.
Change-Id: Icad3d0434180cb25bdcdedec3334ccbbe642cf4c
CRs-Fixed: 3299010
If all the type and subtypes are enabled then there is
no need to dissect frames and validate type and subtype.
Add flag to indicate such configuration.
Change-Id: Ia7f919e5bdb175019a39f23be9e1d5a9a12fec31
CRs-Fixed: 3303105
In case of Beryllium, REO hardware expects the REO destination indication
needs to be set in extended MSDU structure to consider the reinject of
packets after defragmentation to REO2SW1 ring.
Set the REO DESTINATION INDICATION in msdu_ext_desc_info in case of
Berylliyum initialization while setting MSDU desc info.
CRs-Fixed: 3306818
Change-Id: I6a7862a0448afeb169e04747c1dba352ce12c278
Replace all occurrences of
reg_get_320_bonded_channel_state function with new
function reg_get_320_bonded_channel_state_for_pwrmode
and use extra parameter as REG_CURRENT_PWR_MODE.
Change-Id: Iaaf553eed582f03b2d4a5842baa031607b69414f
CRs-Fixed: 3145724
When the length of a 802.11 frame is more than the
size of the posted receive buffers, it is split across
multiple buffers, which have to be accumulated before
submitting to network stack.
For all-but-last buffer which are used for the above
mentioned large 802.11 frame, the MSDU_CONTINUATION
flag will be set indicating that remaining data of the
same msdu has been DMA'ed to the next buffer.
The current implementation in monitor-1.0 works for
legacy chipsets, where MSDU_START tlv is available and
hence the aforementioned information was available in
all the buffers containing the large 802.11 frame.
For kiwi target, there is no MSDU_START tlv, and hence
a lot of information eg: mpdu_len_err, decap_format and
l2_hdr_offset are not available in the buffers where the
msdu_continuation flag is set. This leads to an attempt
of mpdu_restitch using incorrect data from tlv, and hence
the mpdu_restitch fails for such large 802.11 frame.
Fix this issue for kiwi target, by gathering all these
information which are available in the last buffer and
are used to process/accumulate the entire 802.11 frame.
Change-Id: I1c4fc9fd574c1c5fabc845407aa6f2d990c60906
CRs-Fixed: 3261494
If 2 MLO AP have same MLD addr, when roam between them, link vdev1 old
peer is deleted first, ML peer goes to state ML_PEER_DISCONN_INITIATED,
Since ML peer can be found for same MLD addr, no new ML peer is created,
but vdev1 new link peer is failed to attach to ML peer for wrong state,
then ML peer will be double freed, assert will happen.
To fix it, if roam target AP and current AP have same MLD addr, before
attach new peer to reused ML peer, update different info from target AP,
update ML peer state to ML_PEER_CREATED again.
Change-Id: Ia656ed61be4ae417b8cfbe7711d421fbcee89b97
CRs-Fixed: 3302438