qcacmn: Skip setting rx tids for monitor mode self peer

Currently the rx tids are getting setup for the
self peer in monitor mode. This leads to sending
commands to the reorder-hw and the hardware generates
its responses.
In Monitor mode, none of these rings are reaped, since
the reorder-hw is not used. This opens up a possibility
of backpressure on the reorder-hw rings.

Skip setting up the rx tids for monitor mode
self peer, since they are not used.

Change-Id: I37bade9ef5c8bd536a01371cc059ebbcfb85ee5a
CRs-Fixed: 2815866
This commit is contained in:
Rakesh Pillai
2020-11-16 02:13:18 -08:00
committed by snandini
parent 1df1553343
commit 904ad769a0
2 changed files with 12 additions and 6 deletions

View File

@@ -6197,6 +6197,7 @@ dp_peer_setup_wifi3(struct cdp_soc_t *soc_hdl, uint8_t vdev_id,
struct dp_peer *peer =
dp_peer_find_hash_find(soc, peer_mac, 0, vdev_id,
DP_MOD_ID_CDP);
enum wlan_op_mode vdev_opmode;
if (!peer)
return QDF_STATUS_E_FAILURE;
@@ -6207,6 +6208,8 @@ dp_peer_setup_wifi3(struct cdp_soc_t *soc_hdl, uint8_t vdev_id,
goto fail;
}
/* save vdev related member in case vdev freed */
vdev_opmode = vdev->opmode;
pdev = vdev->pdev;
dp_peer_setup_get_reo_hash(vdev, &reo_dest, &hash_based);
@@ -6238,7 +6241,8 @@ dp_peer_setup_wifi3(struct cdp_soc_t *soc_hdl, uint8_t vdev_id,
qdf_atomic_set(&peer->is_default_route_set, 1);
dp_peer_rx_init(pdev, peer);
if (vdev_opmode != wlan_op_mode_monitor)
dp_peer_rx_init(pdev, peer);
dp_peer_ppdu_delayed_ba_init(peer);

View File

@@ -2997,13 +2997,15 @@ void dp_peer_cleanup(struct dp_vdev *vdev, struct dp_peer *peer)
struct dp_pdev *pdev = vdev->pdev;
struct dp_soc *soc = pdev->soc;
dp_peer_tx_cleanup(vdev, peer);
/* cleanup the Rx reorder queues for this peer */
dp_peer_rx_cleanup(vdev, peer);
/* save vdev related member in case vdev freed */
vdev_opmode = vdev->opmode;
dp_peer_tx_cleanup(vdev, peer);
if (vdev_opmode != wlan_op_mode_monitor)
/* cleanup the Rx reorder queues for this peer */
dp_peer_rx_cleanup(vdev, peer);
qdf_mem_copy(vdev_mac_addr, vdev->mac_addr.raw,
QDF_MAC_ADDR_SIZE);