OSDN Git Service

wifi: ath11k: Fix invalid management rx frame length issue
authorBhagavathi Perumal S <quic_bperumal@quicinc.com>
Fri, 24 Mar 2023 14:57:00 +0000 (16:57 +0200)
committerKalle Valo <quic_kvalo@quicinc.com>
Wed, 12 Apr 2023 10:00:07 +0000 (13:00 +0300)
commit447b0398a9cd41ca343dfd43e555af92d6214487
tree58b39785b629690f9fc06e0b9c2a34ed36b80cac
parent031ffa6c2cd305a57ccc6d610f2decd956b2e7f6
wifi: ath11k: Fix invalid management rx frame length issue

The WMI management rx event has multiple arrays of TLVs, however the common
WMI TLV parser won't handle multiple TLV tags of same type.
So the multiple array tags of WMI management rx TLV is parsed incorrectly
and the length calculated becomes wrong when the target sends multiple
array tags.

Add separate TLV parser to handle multiple arrays for WMI management rx
TLV. This fixes invalid length issue when the target sends multiple array
tags.

Tested-on: QCN9074 hw1.0 PCI WLAN.HK.2.7.0.1-01744-QCAHKSWPL_SILICONZ-1

Signed-off-by: Bhagavathi Perumal S <quic_bperumal@quicinc.com>
Co-developed-by: Nagarajan Maran <quic_nmaran@quicinc.com>
Signed-off-by: Nagarajan Maran <quic_nmaran@quicinc.com>
Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com>
Link: https://lore.kernel.org/r/20230320133840.30162-1-quic_nmaran@quicinc.com
drivers/net/wireless/ath/ath11k/wmi.c