summaryrefslogtreecommitdiff
path: root/core/dp
diff options
context:
space:
mode:
authorgbian <gbian@codeaurora.org>2016-10-13 16:07:07 +0800
committerqcabuildsw <qcabuildsw@localhost>2016-10-28 18:04:07 -0700
commitbf0e062ca3fe314a9edfbd9cd3c20feff2cbc971 (patch)
treea57af3b22d574334069c32977dab3c73bf27d763 /core/dp
parent2259cb33c342bbb144a294eb628ea033bacfdda5 (diff)
qcacld-3.0: Flush vdev's TXQ with the same TID as inserted one
qcacld-2.0 to qcacld-3.0 propagation Currently TXQ of DEFAULT_MGMT packet is using TID HTT_TX_EXT_TID_MGMT when we inserted into Scheduler, so use same TID when we flush it. Change-Id: I1631b7706d1f8bf0352ceecb8836d82743526e44 CRs-Fixed: 1000968 (cherry picked from commit 9b41b24a9da6b9415ebdafb6e4574f0b03570e9e)
Diffstat (limited to 'core/dp')
-rw-r--r--core/dp/txrx/ol_tx_queue.c22
1 files changed, 21 insertions, 1 deletions
diff --git a/core/dp/txrx/ol_tx_queue.c b/core/dp/txrx/ol_tx_queue.c
index 3044210dbbb8..5fa1b9982838 100644
--- a/core/dp/txrx/ol_tx_queue.c
+++ b/core/dp/txrx/ol_tx_queue.c
@@ -80,7 +80,27 @@ ol_tx_queue_vdev_flush(struct ol_txrx_pdev_t *pdev, struct ol_txrx_vdev_t *vdev)
/* flush VDEV TX queues */
for (i = 0; i < OL_TX_VDEV_NUM_QUEUES; i++) {
txq = &vdev->txqs[i];
- ol_tx_queue_free(pdev, txq, (i + OL_TX_NUM_TIDS), false);
+ /*
+ * currently txqs of MCAST_BCAST/DEFAULT_MGMT packet are using
+ * tid HTT_TX_EXT_TID_NON_QOS_MCAST_BCAST/HTT_TX_EXT_TID_MGMT
+ * when inserted into scheduler, so use same tid when we flush
+ * them
+ */
+ if (i == OL_TX_VDEV_MCAST_BCAST)
+ ol_tx_queue_free(pdev,
+ txq,
+ HTT_TX_EXT_TID_NON_QOS_MCAST_BCAST,
+ false);
+ else if (i == OL_TX_VDEV_DEFAULT_MGMT)
+ ol_tx_queue_free(pdev,
+ txq,
+ HTT_TX_EXT_TID_MGMT,
+ false);
+ else
+ ol_tx_queue_free(pdev,
+ txq,
+ (i + OL_TX_NUM_TIDS),
+ false);
}
/* flush PEER TX queues */
do {