Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 38ee53d2 authored by Yeshwanth Sriram Guntuka's avatar Yeshwanth Sriram Guntuka Committed by Madan Koyyalamudi
Browse files

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
parent 33bab769
Loading
Loading
Loading
Loading
+31 −0
Original line number Diff line number Diff line
@@ -3642,6 +3642,36 @@ static void ol_txrx_peer_unmap_sync_cb_set(
		pdev->peer_unmap_sync_cb = peer_unmap_sync;
}

/**
 * ol_txrx_peer_flush_frags() - Flush fragments for a particular peer
 * @soc_hdl - datapath soc handle
 * @vdev_id - virtual device id
 * @peer_mac - peer mac address
 *
 * Return: None
 */
static void
ol_txrx_peer_flush_frags(struct cdp_soc_t *soc_hdl, uint8_t vdev_id,
			 uint8_t *peer_mac)
{
	struct ol_txrx_peer_t *peer;
	struct ol_txrx_soc_t *soc = cdp_soc_t_to_ol_txrx_soc_t(soc_hdl);
	struct ol_txrx_pdev_t *pdev =
		ol_txrx_get_pdev_from_pdev_id(soc, OL_TXRX_PDEV_ID);

	if (!pdev)
		return;

	peer =  ol_txrx_peer_find_hash_find_get_ref(pdev, peer_mac, 0, 1,
						    PEER_DEBUG_ID_OL_INTERNAL);
	if (!peer)
		return;

	ol_rx_reorder_peer_cleanup(peer->vdev, peer);

	ol_txrx_peer_release_ref(peer, PEER_DEBUG_ID_OL_INTERNAL);
}

/**
 * ol_txrx_dump_tx_desc() - dump tx desc total and free count
 * @txrx_pdev: Pointer to txrx pdev
@@ -6365,6 +6395,7 @@ static struct cdp_peer_ops ol_ops_peer = {
	.set_peer_as_tdls_peer = ol_txrx_set_peer_as_tdls_peer,
#endif /* CONFIG_HL_SUPPORT */
	.peer_detach_force_delete = ol_txrx_peer_detach_force_delete,
	.peer_flush_frags = ol_txrx_peer_flush_frags,
};

static struct cdp_tx_delay_ops ol_ops_delay = {