From bf0e062ca3fe314a9edfbd9cd3c20feff2cbc971 Mon Sep 17 00:00:00 2001 From: gbian Date: Thu, 13 Oct 2016 16:07:07 +0800 Subject: 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) --- core/dp/txrx/ol_tx_queue.c | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) (limited to 'core/dp') 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 { -- cgit v1.2.3