Fix the tx desc and mcuc buffer leak issue in case of
hw enqueue failure with ME5 enabled.
Change-Id: Ibd8f924e66a9d828940c6f599584763f1dfc59a6
CRs-Fixed: 3194095
Add fix for tx monitor double free and other minor fixes like updating
channel frequency and channel number if it wasn't fetched properly,
fetch protection address only if it is valid.
Change-Id: I184e08080a47b903176b9df0a192f0b5eb0b2750
CRs-Fixed: 3184727
Set per_tid_basize_max_tid so that BA size is configured per TID.
Accordingly fix dp_check_ba_buffersize to ba_window_size to incoming
buffer_size. Assert for any BA window size above 1024.
Change-Id: I40cb2aac012c50e253c3ef22d44cf5db3abfb7bb
CRs-Fixed: 3182601
Use microsecond timestamping for the tx descriptors
for capturing the latencies more accurately. It will help
to determine the appropriate bucket.
Change-Id: I216e083a7c89b01b6f2f384c1c0a85ca323d3a3e
CRs-Fixed: 3165153
With MLO enabled, Rx monitor receives the sw_peer_id in the following
format in MPDU_START_TLV:
+---------------------------------------------------------------------+
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
+---------------------------------------------------------------------+
| CHIP ID | ML | PEER ID |
+---------------------------------------------------------------------+
For MLO station, sw_peer_id received in MPDU_START_TLV corresponds
to MLD peer. But for Rx monitor framework, link peer makes relevance.
Therefore, fetch and update the sw_peer_id with link peer_id in the
received ppdu in Rx monitor.
Change-Id: I8ffc32856fd364edbcec2d98c3f9e1f0643d40d1
CRs-Fixed: 3190668
In VoIP cases, no or minimal packet drop is expected during
roaming. Currently, data packets are dropped in host if they
are received after roam sync indication from firmware and before
peer map indication is received due to invalid peer.
This change allows rx UDP data packets during roaming before
peer map indication is received from FW if peer's auth_status
received in roam_sync_indication from FW is authorised.
Change-Id: Ic518b7cd0aef48a2b0f8c923a2e20838b07f3d1f
CRs-Fixed: 3168603
add tags straight from ppdu_info to headrom for mpdu
tags are positioned per msdu_index within mpdu headroom.
Change-Id: I4863a7929ffd2e0a5d7f91f31ab6059f2b882de4
CRs-Fixed: 3183692
In QCN9224, when 11v DMS feature is enabled use
FW based DMS support instead of SW based WAR.
Change-Id: Icc5b9740f71bd00862e06950e4fe49c663d513b4
CRs-Fixed: 3182547
Currently, in case where AP advertizes BA window size
which is different than our max supported BA window size,
the HW gets configured for BA window size advertized by
the AP, whereas the ADDBA response indicates the window
size of the STA, which is less than the AP.
This mismatch leads to the BA bitmap to be incorrect.
Fix this by exposing an API from datapath for the update
of the final BA window size which is populated in the
ADDBA response.
Change-Id: I81a039f47a775990b426e9aca1daaaa9bdb6e88f
CRs-Fixed: 3187941
This is a WAR to match the TX_DESC_POOL size
to maximum number of VDEVs allowed.
Change-Id: I646a67ef2b611bea1ca5a6e2bf781a9454d409ed
CRs-Fixed: 3168359
In the case of target recovery avoid accessing of HW registers
during the VAP down.
Change-Id: I4061d75ec0c153710aaa99ab7414a96136ff22f5
CRs-Fixed: 3190730
For KIWI, STA AST index lookup search is enabled and remote
AP peer's AST index will be stored in STA Vdev if receive
AP peer htt peer map msg. but if STA TDLS connection happened,
host will receive another peer map msg for remote TDLS STA peer,
this remote TDLS STA peer's AST index will overwrite original AP's
AST index. if TDLS disconnected, STA vdev will still use remote
TDLS STA's AST index for TX, then TX to AP might fail.
Add is_tdls_peer flag in dp peer and configure this value by
cdp_peer_set_peer_as_tdls() from control path right after TDLS peer
created. if is_tdls_peer is true, do not store this TDLS peer's
AST index to STA Vdev, skip bss_peer flag setting as well.
Change-Id: I7b5df1caca6a0b5305a6e867cd92099b5f6a4890
CRs-Fixed: 3151035
Update TLV length in peer map handler to correctly point to the next TLV
header.
Change-Id: Ie60c62040cb35b60a3bfbd302a176294903c94e6
CRs-Fixed: 3183057
After enable and disable of both radio, If second radio is enabled
then the instance_id from wlan driver is passed wrongly to IPA driver
which is in leading to initializion of first radio on IPA driver side.
Fix is to take the instace id based on psoc id and set the prod and cons
pipes based on instance_id instead of IPA given handle.
Change-Id: I26f4f3fbd23284e79a380d212ad07aceac50f053
CRs-Fixed: 3179306
Check if ast hash table is populated before accessing it,
as some calls from ecm can try to access the hash table when it
is down
Change-Id: I6d38359c3cf13f578671794db61c8eb845245d6d
CRs-Fixed: 3186437
Reo shared qref stats is not required for legacy platforms
and is enabled for wkk only. Hence add check in stats to
skip for legacy platform.
Change-Id: Ic6f1ebd965aa63b98a3ac6a5216fa9b4e3499b74
CRs-Fixed: 3186595
RX_PPDU_END_STATUS_DONE TLV is not being processed, since Host
is not copying the last byte from the payload.
Add code to copy the full payload from status frag and process
it to the upper layer.
Change-Id: I51d03f5664b2944008936e3711f2ba74bcfde89c
CRs-Fixed: 3179137
Add rssi dbm support bit for rssi_comb calculation
using parameters received from the fw.
Change-Id: Ice57ed69db74852a8b03752632bae747c043e93d
CRs-Fixed: 3183406
In receive path for IGMP packets modify the source mac to
unique and random address per MLD.
Change-Id: Ifcbf414017b2596656d53d6c921cf7fd63bf0cac
CRs-Fixed: 3176816
Per peer extended stats are maintained as a histogram having 10
delay buckets. Each packet will fall into one of these buckets as per the
delay calculated. These buckets are now increased to 13 as per requirement.
Change-Id: I7f9a01c21b748a0f589bb44e6f7dd69a1c5702a7
CRs-Fixed: 3163423
Drop 3 address multicast packet on rx when vdev is
has drop_3addr_mcast enabled.
Change-Id: I726bdc9383ea6e5a052a5d754e8f48c98f9ce874
CRs-Fixed: 3163011
Currently, in STA+Monitor mode, the first MSDU in MPDU is
unmapped and goes down. This MSDU is now processed as rxdma
err packet and crashes due to double unmap as rxdma err ring
is configured as monitor dest ring in monitor mode.
To fix this, validate rx descriptor unmapped flag in rxdma
err processing.
Change-Id: Ic503aa18e2269d8bda6aaf9b349c1ad8be11dcff
CRs-Fixed: 3175972
calculate rssi_comb and rssi per chain values using
parameters received from the fw.
Change-Id: Ide56549c7d7ee9bde609dc6764013d509f7ccac0
CRs-Fixed: 3157484
Currently, data stall detection is without control over
individual data stall events.
INI variable, gEnableDataStallDetection is converted from
boolean to unsigned int which provides control over events
across FW and host with each bit corresponding to different
data stall events.
Bit 0: Enable all data stall events if set.
Bit 1-30: mapped to data stall events. Used when Bit 0 is 0
Bit 31: Enable aggressive timeout for WLM Mode.
Change-Id: I4656520accd1589e77d5054eaa0a3cb8e63b14b2
CRs-Fixed: 3174906
RSSI calibration parameters are received as part
of WMI event from FW, update these parameters to
monitor pdev via CDP interface.
Change-Id: I5060795918571763ad467aae93729040fbca96a1
CRs-Fixed: 3147897
To calculate average delay for hist-stats, use the below
formula : new-avg = (current-avg + new-delay) / 2.
During accumulation of delay-stats for all the TID's for
a peer, only the hist-buckets with non-zero counts should
be considered for calculating the various delay levels.
Change-Id: Ic930116bd650baab6a2b43e077cf55f5c79681d5
CRs-Fixed: 3178032
In the case of ME6, Backhaul WDS, NAWDS
1. Send the igmp pkt on the same link where it received,
as these features will use peer based FW metadata.
2. Bypass the reinjection.
Change-Id: Idf0058e182257fbcedd8eb5fc8bcde945e8a91bc
CRs-Fixed: 3171558
When TX completion is released from FW, dp_tx_notify_completion()
will not be invoked, then TX DCHP ACK will miss
hdd_softap_notify_tx_compl_cbk() which then
WMI_PEER_CRIT_PROTO_HINT_ENABLED with value 0 will not send to FW.
(1) move dp_tx_notify_completion() from dp_tx_comp_process_desc_list()
to dp_tx_comp_process_tx_status(), so that both TX completion release
source FW or TQM case will call it.
(2) clear TX notify flag for intra-bss forwarding BC/MC to avoid
unnecessary TX completion notify.
(3) Set ts.status for release source FW case otherwise it will be value
0 always.
Change-Id: I2bf9900a3d16ba162a83b061f0b96e7d2f79423a
CRs-Fixed: 3178423
Check for mld peer id instead of link peer id in the case of
intra bss forwarding between MLO NAWDS repeaters
Change-Id: I7af7f43e7f88c95b0debee85c0976fdb9a1c5519
CRs-Fixed: 3142943