diff options
| author | Nirav Shah <nnshah@qti.qualcomm.com> | 2015-05-27 18:10:18 +0530 |
|---|---|---|
| committer | AnjaneeDevi Kapparapu <c_akappa@qti.qualcomm.com> | 2015-05-29 15:06:25 +0530 |
| commit | ea5c28d1ed54593c1d3c28e32031786ea8283d1a (patch) | |
| tree | e1e727ce178ff0f9fba7f949fa912812d9ea4154 | |
| parent | 123ca4b1f88dd88cf297d2bc1c56bc5d57111ee5 (diff) | |
qcacld: Always update group credit based on vdev
Always update group credit based on vdev to
avoid accessing direct tx queue.
CRs-Fixed: 843401
Change-Id: I67945a166f78e604e3fcbd825160029c96716aef
| -rw-r--r-- | CORE/CLD_TXRX/TXRX/ol_tx_send.c | 25 |
1 files changed, 10 insertions, 15 deletions
diff --git a/CORE/CLD_TXRX/TXRX/ol_tx_send.c b/CORE/CLD_TXRX/TXRX/ol_tx_send.c index cf64115daa06..28b3b8a458de 100644 --- a/CORE/CLD_TXRX/TXRX/ol_tx_send.c +++ b/CORE/CLD_TXRX/TXRX/ol_tx_send.c @@ -609,25 +609,20 @@ ol_tx_desc_update_group_credit(ol_txrx_pdev_handle pdev, u_int16_t tx_desc_id, uint8_t i, is_member; uint16_t vdev_id_mask; struct ol_tx_desc_t *tx_desc; - struct ol_tx_frms_queue_t *txq; union ol_tx_desc_list_elem_t *td_array = pdev->tx_desc.array; tx_desc = &td_array[tx_desc_id].tx_desc; - if (status != htt_tx_status_peer_del) { - txq = (struct ol_tx_frms_queue_t *)(tx_desc->txq); - ol_tx_txq_group_credit_update(pdev, txq, credit, absolute); - } else { - for (i = 0; i < OL_TX_MAX_TXQ_GROUPS; i++) { - vdev_id_mask = + + for (i = 0; i < OL_TX_MAX_TXQ_GROUPS; i++) { + vdev_id_mask = OL_TXQ_GROUP_VDEV_ID_MASK_GET(pdev->txq_grps[i].membership); - is_member = OL_TXQ_GROUP_VDEV_ID_BIT_MASK_GET(vdev_id_mask, - tx_desc->vdev->vdev_id); - if (is_member) { - ol_txrx_update_group_credit(&pdev->txq_grps[i], - credit, absolute); - break; - } - } + is_member = OL_TXQ_GROUP_VDEV_ID_BIT_MASK_GET(vdev_id_mask, + tx_desc->vdev->vdev_id); + if (is_member) { + ol_txrx_update_group_credit(&pdev->txq_grps[i], + credit, absolute); + break; + } } OL_TX_UPDATE_GROUP_CREDIT_STATS(pdev); } |
