diff mbox series

[2/2] wifi: ath11k: fix undefined behavior with __fls in dp

Message ID 20230403184155.8670-3-quic_nmaran@quicinc.com (mailing list archive)
State Accepted
Commit 41e02bf4ae32cf2ac47b08b4caaa9c1a032e4ce7
Delegated to: Kalle Valo
Headers show
Series wifi: ath11k: Ignore frags from uninitialized peer in dp | expand

Commit Message

Nagarajan Maran April 3, 2023, 6:41 p.m. UTC
From: Harshitha Prem <quic_hprem@quicinc.com>

"__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>
---
 drivers/net/wireless/ath/ath11k/dp_rx.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
diff mbox series

Patch

diff --git a/drivers/net/wireless/ath/ath11k/dp_rx.c b/drivers/net/wireless/ath/ath11k/dp_rx.c
index 2893f6757e3e..384a774392e0 100644
--- a/drivers/net/wireless/ath/ath11k/dp_rx.c
+++ b/drivers/net/wireless/ath/ath11k/dp_rx.c
@@ -3595,7 +3595,7 @@  static int ath11k_dp_rx_frag_h_mpdu(struct ath11k *ar,
 		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);