mirror of
https://github.com/torvalds/linux.git
synced 2026-06-05 13:06:59 +02:00
wifi: ath12k: fix undefined behavior with __fls in dp
[ Upstream commitd48f55e773] When max virtual ap interfaces are configured in all the bands with ACS and hostapd restart is done every 60s, a crash is observed at random times because of handling the uninitialized peer fragments with fragment id of packet as 0. "__fls" would have an undefined behavior if the argument is passed as "0". Hence, added changes to handle the same. Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.0.1-00029-QCAHKSWPL_SILICONZ-1 Fixes:d889913205("wifi: ath12k: driver for Qualcomm Wi-Fi 7 devices") Signed-off-by: Harshitha Prem <quic_hprem@quicinc.com> Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com> Link: https://lore.kernel.org/r/20230821130343.29495-3-quic_hprem@quicinc.com Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
967608cc4e
commit
2b9157d41e
|
|
@ -3229,7 +3229,7 @@ static int ath12k_dp_rx_frag_h_mpdu(struct ath12k *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
|
||||
ath12k_dp_rx_h_sort_frags(ab, &rx_tid->rx_frags, msdu);
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user