summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYeshwanth Sriram Guntuka <ysriramg@codeaurora.org>2021-02-23 14:16:01 +0530
committerIsaac Chiou <isaacchiou@google.com>2021-03-19 09:42:56 +0000
commita69c7d169c553a2fbee232d8cd111f2f334cd355 (patch)
treec7f67a8ef28b529dbaecbe13a5332a3589d54eb7
parent9d4d4eb4a2fa1d09e419a4e294bf3307f7e82920 (diff)
downloadqcacld-a69c7d169c553a2fbee232d8cd111f2f334cd355.tar.gz
qcacld-3.0: Add support to flush fragments for a particular peer
Add support for flushing fragments for a particular peer. Bug: 182958222 Change-Id: I91236d2edc73317380590458b974013a02e858a1 CRs-Fixed: 2860131
-rw-r--r--core/dp/txrx/ol_txrx.c22
1 files changed, 21 insertions, 1 deletions
diff --git a/core/dp/txrx/ol_txrx.c b/core/dp/txrx/ol_txrx.c
index 4cfcb9776f..220b84ddfa 100644
--- a/core/dp/txrx/ol_txrx.c
+++ b/core/dp/txrx/ol_txrx.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2018 The Linux Foundation. All rights reserved.
+ * Copyright (c) 2011-2018, 2021 The Linux Foundation. All rights reserved.
*
* Previously licensed under the ISC license by Qualcomm Atheros, Inc.
*
@@ -3967,6 +3967,26 @@ ol_txrx_peer_find_by_addr(struct ol_txrx_pdev_t *pdev, uint8_t *peer_mac_addr)
return peer;
}
+void
+ol_txrx_peer_flush_frags(ol_txrx_pdev_handle pdev, uint8_t vdev_id,
+ uint8_t *peer_mac)
+{
+ struct ol_txrx_peer_t *peer;
+ uint8_t peer_id;
+
+ if (!pdev)
+ return;
+
+ peer = ol_txrx_find_peer_by_addr_inc_ref(pdev, peer_mac, &peer_id);
+
+ if (!peer)
+ return;
+
+ ol_rx_reorder_peer_cleanup(peer->vdev, peer);
+
+ OL_TXRX_PEER_UNREF_DELETE(peer);
+}
+
/**
* ol_txrx_dump_tx_desc() - dump tx desc total and free count
* @txrx_pdev: Pointer to txrx pdev