summaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/ath/ath12k/dp.h
diff options
context:
space:
mode:
authorKarthikeyan Periyasamy <quic_periyasa@quicinc.com>2024-06-24 20:24:18 +0530
committerKalle Valo <quic_kvalo@quicinc.com>2024-06-26 18:42:25 +0300
commit1eeafd64c7b455381b77c546e41bc267e13e2809 (patch)
tree9b83291caed0ad4ffe7572d31ec2254fb3e12234 /drivers/net/wireless/ath/ath12k/dp.h
parent2c7857677d695166e913123b23ed7e55d80f72be (diff)
downloadlinux-stable-1eeafd64c7b455381b77c546e41bc267e13e2809.tar.gz
linux-stable-1eeafd64c7b455381b77c546e41bc267e13e2809.tar.bz2
linux-stable-1eeafd64c7b455381b77c546e41bc267e13e2809.zip
wifi: ath12k: fix peer metadata parsing
Currently, the Rx data path only supports parsing peer metadata of version zero. However, the QCN9274 platform configures the peer metadata version as V1B. When V1B peer metadata is parsed using the version zero logic, invalid data is populated, causing valid packets to be dropped. To address this issue, refactor the peer metadata version and add the version based parsing to populate the data from peer metadata correctly. Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.0.1-00029-QCAHKSWPL_SILICONZ-1 Fixes: 287033810990 ("wifi: ath12k: add support for peer meta data version") Signed-off-by: Karthikeyan Periyasamy <quic_periyasa@quicinc.com> Acked-by: Jeff Johnson <quic_jjohnson@quicinc.com> Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com> Link: https://patch.msgid.link/20240624145418.2043461-1-quic_periyasa@quicinc.com
Diffstat (limited to 'drivers/net/wireless/ath/ath12k/dp.h')
-rw-r--r--drivers/net/wireless/ath/ath12k/dp.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/net/wireless/ath/ath12k/dp.h b/drivers/net/wireless/ath/ath12k/dp.h
index 742094545089..b77497c14ac4 100644
--- a/drivers/net/wireless/ath/ath12k/dp.h
+++ b/drivers/net/wireless/ath/ath12k/dp.h
@@ -333,6 +333,7 @@ struct ath12k_dp {
struct dp_srng reo_except_ring;
struct dp_srng reo_cmd_ring;
struct dp_srng reo_status_ring;
+ enum ath12k_peer_metadata_version peer_metadata_ver;
struct dp_srng reo_dst_ring[DP_REO_DST_RING_MAX];
struct dp_tx_ring tx_ring[DP_TCL_NUM_RING_MAX];
struct hal_wbm_idle_scatter_list scatter_list[DP_IDLE_SCATTER_BUFS_MAX];