]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
wifi: ath12k: fix invalid memory access while processing fragmented packets
authorP Praneesh <quic_ppranees@quicinc.com>
Mon, 20 May 2024 07:00:44 +0000 (12:30 +0530)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 3 Aug 2024 06:59:34 +0000 (08:59 +0200)
[ Upstream commit 073f9f249eecd64ab9d59c91c4a23cfdcc02afe4 ]

The monitor ring and the reo reinject ring share the same ring mask index.
When the driver receives an interrupt for the reo reinject ring, the
monitor ring is also processed, leading to invalid memory access. Since
monitor support is not yet enabled in ath12k, the ring mask for the monitor
ring should be removed.

Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.1.1-00209-QCAHKSWPL_SILICONZ-1

Fixes: d889913205cf ("wifi: ath12k: driver for Qualcomm Wi-Fi 7 devices")
Signed-off-by: P Praneesh <quic_ppranees@quicinc.com>
Acked-by: Jeff Johnson <quic_jjohnson@quicinc.com>
Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com>
Link: https://msgid.link/20240520070045.631029-3-quic_ppranees@quicinc.com
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/wireless/ath/ath12k/hw.c

index 5ed06c0d90e2b1cb7da99fd42cefad9960d6e5e2..bff8cf97a18c667817b71429551e86e69d9398ac 100644 (file)
@@ -544,9 +544,6 @@ static const struct ath12k_hw_ring_mask ath12k_hw_ring_mask_qcn9274 = {
        },
        .rx_mon_dest = {
                0, 0, 0,
-               ATH12K_RX_MON_RING_MASK_0,
-               ATH12K_RX_MON_RING_MASK_1,
-               ATH12K_RX_MON_RING_MASK_2,
        },
        .rx = {
                0, 0, 0, 0,
@@ -572,8 +569,7 @@ static const struct ath12k_hw_ring_mask ath12k_hw_ring_mask_qcn9274 = {
                ATH12K_HOST2RXDMA_RING_MASK_0,
        },
        .tx_mon_dest = {
-               ATH12K_TX_MON_RING_MASK_0,
-               ATH12K_TX_MON_RING_MASK_1,
+               0, 0, 0,
        },
 };