summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYeshwanth Sriram Guntuka <ysriramg@codeaurora.org>2021-02-23 14:16:01 +0530
committerGerrit - the friendly Code Review server <code-review@localhost>2021-05-24 09:01:36 -0700
commit3afac0eefe9ca14be50397869fd83c9638eef6e3 (patch)
treec64dc23ac4f143150054ffd19fd06f9a1e16bc89
parent4751a437667d1eb18062e75ea6b67a4807241d07 (diff)
qcacld-3.0: Add support to flush fragments for a particular peer
Add support for flushing fragments for a particular peer. 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 630d27168381..a180d80db35e 100644
--- a/core/dp/txrx/ol_txrx.c
+++ b/core/dp/txrx/ol_txrx.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2019 The Linux Foundation. All rights reserved.
+ * Copyright (c) 2011-2019, 2021 The Linux Foundation. All rights reserved.
*
* Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the
@@ -3960,6 +3960,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