mirror of
https://github.com/Telecominfraproject/wlan-ap.git
synced 2025-12-16 17:01:37 +00:00
In the DP RX path, fast_rx is set to true by default. Currently, if peer lookup fails in ath11k_dp_rx_h_mpdu(), the SKB is not sent to the network stack or mac80211 because fast_rx remains true. This results in a memory leak. Fix this by setting fast_rx = false when peer lookup fails in ath11k_dp_rx_h_mpdu(), ensuring the SKB is properly delivered to mac80211 via ath11k_dp_rx_deliver_msdu(). Fixes: WIFI-15202 Signed-off-by: Marek Kwaczynski <marek@shasta.cloud>
23 lines
799 B
Diff
23 lines
799 B
Diff
Index: backports-20210222_001-5.4.164-b157d2276/drivers/net/wireless/ath/ath11k/dp_rx.c
|
|
===================================================================
|
|
--- backports-20210222_001-5.4.164-b157d2276.orig/drivers/net/wireless/ath/ath11k/dp_rx.c
|
|
+++ backports-20210222_001-5.4.164-b157d2276/drivers/net/wireless/ath/ath11k/dp_rx.c
|
|
@@ -2847,8 +2847,6 @@ static void ath11k_dp_rx_h_mpdu(struct a
|
|
}
|
|
}
|
|
|
|
- *fast_rx = false;
|
|
-
|
|
if (rxcb->is_mcbc)
|
|
enctype = peer->sec_type_grp;
|
|
else
|
|
@@ -2858,6 +2856,8 @@ static void ath11k_dp_rx_h_mpdu(struct a
|
|
}
|
|
spin_unlock_bh(&ar->ab->base_lock);
|
|
|
|
+ *fast_rx = false;
|
|
+
|
|
rx_attention = ath11k_dp_rx_get_attention(ar->ab, rx_desc);
|
|
err_bitmap = ath11k_dp_rx_h_attn_mpdu_err(rx_attention);
|
|
if (enctype != HAL_ENCRYPT_TYPE_OPEN && !err_bitmap)
|