mirror of
https://github.com/Telecominfraproject/wlan-ap.git
synced 2025-12-16 08:59:57 +00:00
ath11k: fix memory leak when peer lookup fails in dp rx path
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>
This commit is contained in:
parent
05b5bae4aa
commit
a81fe1274b
@ -0,0 +1,22 @@
|
||||
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)
|
||||
Loading…
Reference in New Issue
Block a user