diff --git a/dp/wifi3.0/dp_main.c b/dp/wifi3.0/dp_main.c index 4a58535773..7d4626ffcb 100644 --- a/dp/wifi3.0/dp_main.c +++ b/dp/wifi3.0/dp_main.c @@ -15246,6 +15246,7 @@ static void dp_soc_cfg_init(struct dp_soc *soc) wlan_cfg_set_reo_dst_ring_size(soc->wlan_cfg_ctx, REO_DST_RING_SIZE_QCA6290); soc->ast_override_support = 1; + soc->per_tid_basize_max_tid = 8; if (soc->cdp_soc.ol_ops->get_con_mode && soc->cdp_soc.ol_ops->get_con_mode() == diff --git a/dp/wifi3.0/dp_peer.c b/dp/wifi3.0/dp_peer.c index 51be7772ad..75c980be06 100644 --- a/dp/wifi3.0/dp_peer.c +++ b/dp/wifi3.0/dp_peer.c @@ -4294,11 +4294,16 @@ static void dp_check_ba_buffersize(struct dp_peer *peer, { struct dp_rx_tid *rx_tid = NULL; + dp_info(QDF_MAC_ADDR_FMT" per_tid_basize_max_tid %d tid %d buffersize %d hw_buffer_size %d", + peer->mac_addr.raw, + peer->vdev->pdev->soc->per_tid_basize_max_tid, tid, buffersize, + peer->hw_buffer_size); + rx_tid = &peer->rx_tid[tid]; if (peer->vdev->pdev->soc->per_tid_basize_max_tid && tid < peer->vdev->pdev->soc->per_tid_basize_max_tid) { rx_tid->ba_win_size = buffersize; - return; + goto out; } else { if (peer->active_ba_session_cnt == 0) { rx_tid->ba_win_size = buffersize; @@ -4316,9 +4321,24 @@ static void dp_check_ba_buffersize(struct dp_peer *peer, peer->hw_buffer_size = 64; peer->kill_256_sessions = 1; } + } else if (buffersize <= 1024) { + /** + * Above checks are only for HK V2 + * Set incoming buffer size for others + */ + rx_tid->ba_win_size = buffersize; + } else { + dp_err("Invalid buffer size %d", buffersize); + qdf_assert_always(0); } } } + +out: + dp_info("rx_tid->ba_win_size %d peer->hw_buffer_size %d peer->kill_256_sessions %d", + rx_tid->ba_win_size, + peer->hw_buffer_size, + peer->kill_256_sessions); } QDF_STATUS dp_rx_tid_update_ba_win_size(struct cdp_soc_t *cdp_soc,