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:
@@ -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);
|
||||
|
||||
|
Fai riferimento in un nuovo problema
Block a user