qcacmn: Remove tx_desc pool lock in dp_tx_notify_completion
dp_peer hold the peer ref_cnt outside of dp_tx_notify_completion() already, so dp_vdev can not be freed during that period if dp_peer exist, it's not necessary that hold dp tx_desc pool lock in dp_tx_notify_completion() which will introduce lock contention with TX/TX Comp path. Remove tx_desc pool lock to optimize it. Change-Id: I5fdb9143bbc0800db74f8595f77c5a2c96d8e7d6 CRs-Fixed: 3170805
This commit is contained in:

zatwierdzone przez
Madan Koyyalamudi

rodzic
aab13aceda
commit
4b88dddd72
@@ -4239,17 +4239,13 @@ static inline void dp_tx_notify_completion(struct dp_soc *soc,
|
||||
|
||||
qdf_assert(tx_desc);
|
||||
|
||||
dp_tx_flow_pool_lock(soc, tx_desc);
|
||||
|
||||
if (!vdev ||
|
||||
!vdev->osif_vdev) {
|
||||
dp_tx_flow_pool_unlock(soc, tx_desc);
|
||||
return;
|
||||
}
|
||||
|
||||
osif_dev = vdev->osif_vdev;
|
||||
tx_compl_cbk = vdev->tx_comp;
|
||||
dp_tx_flow_pool_unlock(soc, tx_desc);
|
||||
|
||||
if (status == HAL_TX_TQM_RR_FRAME_ACKED)
|
||||
flag |= BIT(QDF_TX_RX_STATUS_OK);
|
||||
|
Reference in New Issue
Block a user