diff options
| author | gbian <gbian@codeaurora.org> | 2016-10-13 16:07:07 +0800 |
|---|---|---|
| committer | qcabuildsw <qcabuildsw@localhost> | 2016-10-28 18:04:07 -0700 |
| commit | bf0e062ca3fe314a9edfbd9cd3c20feff2cbc971 (patch) | |
| tree | a57af3b22d574334069c32977dab3c73bf27d763 /core | |
| parent | 2259cb33c342bbb144a294eb628ea033bacfdda5 (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')
| -rw-r--r-- | core/dp/txrx/ol_tx_queue.c | 22 |
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 { |
