mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-23 07:22:33 +00:00
30 lines
1.1 KiB
Diff
30 lines
1.1 KiB
Diff
|
From 41e02bf4ae32cf2ac47b08b4caaa9c1a032e4ce7 Mon Sep 17 00:00:00 2001
|
||
|
From: Harshitha Prem <quic_hprem@quicinc.com>
|
||
|
Date: Tue, 4 Apr 2023 00:11:55 +0530
|
||
|
Subject: [PATCH] wifi: ath11k: fix undefined behavior with __fls in dp
|
||
|
|
||
|
"__fls" would have an undefined behavior if the argument is passed
|
||
|
as "0". Hence, added changes to handle the same.
|
||
|
|
||
|
Tested-on: IPQ8074 hw2.0 AHB WLAN.HK.2.7.0.1-01744-QCAHKSWPL_SILICONZ-1
|
||
|
|
||
|
Signed-off-by: Harshitha Prem <quic_hprem@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/20230403184155.8670-3-quic_nmaran@quicinc.com
|
||
|
---
|
||
|
drivers/net/wireless/ath/ath11k/dp_rx.c | 2 +-
|
||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||
|
|
||
|
--- a/drivers/net/wireless/ath/ath11k/dp_rx.c
|
||
|
+++ b/drivers/net/wireless/ath/ath11k/dp_rx.c
|
||
|
@@ -3598,7 +3598,7 @@ static int ath11k_dp_rx_frag_h_mpdu(stru
|
||
|
goto out_unlock;
|
||
|
}
|
||
|
|
||
|
- if (frag_no > __fls(rx_tid->rx_frag_bitmap))
|
||
|
+ if (!rx_tid->rx_frag_bitmap || (frag_no > __fls(rx_tid->rx_frag_bitmap)))
|
||
|
__skb_queue_tail(&rx_tid->rx_frags, msdu);
|
||
|
else
|
||
|
ath11k_dp_rx_h_sort_frags(ar, &rx_tid->rx_frags, msdu);
|