mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-12 07:37:31 -04:00
qcacld-3.0: disable pn check for ibss network, in security mode
qcacld-2.0 to qcacld-3.0 propagation Multicast packets using different sequence number space gets dropped on the host due to the existing logic of running duplicate detection check and out-of-order packet check on all non-aggregation (legacy) TIDs, since f/w uses a special (non-aggregation) TID (18) to indicate these packets to the host, irrespective of sequence number space. The fix is in 2 parts: 1) Do only duplicate detection on mcast packets & not out-of-order check (Also do dup-detection only if retry bit is set) 2) Instead of using mcast TID indicated by f/w, use the actual packet TID from the Rx descriptor to perform the duplicate detection and use a separate (new) field in rx_reorder_array to store the last successful mcast sequence number. On the next mcast packet perform the duplicate detection against mcast sequence number, rather than the ucast sequence number. Change-Id: I4c3542e82a1917b4ed27513e9244702bb212df88 CRs-FIXED: 788954
This commit is contained in:
parent
61270b0e59
commit
a51d6fb5df
1 changed files with 3 additions and 1 deletions
|
|
@ -96,8 +96,10 @@ ol_rx_pn_check_base(struct ol_txrx_vdev_t *vdev,
|
|||
int last_pn_valid;
|
||||
|
||||
/* Make sure host pn check is not redundant */
|
||||
if (cdf_atomic_read(&peer->fw_pn_check))
|
||||
if ((cdf_atomic_read(&peer->fw_pn_check)) ||
|
||||
(vdev->opmode == wlan_op_mode_ibss)) {
|
||||
return msdu_list;
|
||||
}
|
||||
|
||||
/* First, check whether the PN check applies */
|
||||
rx_desc = htt_rx_msdu_desc_retrieve(pdev->htt_pdev, msdu_list);
|
||||
|
|
|
|||
Loading…
Reference in a new issue