From e406fb3ff4749028ee8c5b1f326c7d3879993fe8 Mon Sep 17 00:00:00 2001 From: Rakesh Pillai Date: Fri, 9 Feb 2024 00:38:39 -0800 Subject: [PATCH] qcacmn: Fix TID arg passing to dp_peer_rx_reorder_queue_setup dp_peer_rx_reorder_queue_setup accepts a tid_bitmap as argument, whereas the API dp_peer_rx_init_reorder_queue is passing only TID value. This leads to rx_tid setup failure and thereby the BA window size is set to 1 resulting in lower wlan throughput. Fix this by passing the tid_bitmap to dp_peer_rx_reorder_queue_setup. Change-Id: Ic8ab5615e0d2650e3077ed3a26ee68193ddc9787 CRs-Fixed: 3702382 --- dp/wifi3.0/dp_peer.c | 28 +++++++++++++--------------- 1 file changed, 13 insertions(+), 15 deletions(-) diff --git a/dp/wifi3.0/dp_peer.c b/dp/wifi3.0/dp_peer.c index d16381b326..0d8eb4684e 100644 --- a/dp/wifi3.0/dp_peer.c +++ b/dp/wifi3.0/dp_peer.c @@ -3262,26 +3262,24 @@ static void dp_peer_rx_init_reorder_queue(struct dp_pdev *pdev, rx_tid = &mld_peer->rx_tid[tid]; ba_window_size = rx_tid->ba_status == DP_RX_BA_ACTIVE ? rx_tid->ba_win_size : 1; - status = dp_peer_rx_reorder_queue_setup(soc, peer, tid, ba_window_size); - if (QDF_IS_STATUS_ERROR(status)) { - dp_info("peer %pK " QDF_MAC_ADDR_FMT " type %d failed to setup tid %d ba_win_size %d", - peer, QDF_MAC_ADDR_REF(peer->mac_addr.raw), - peer->peer_type, tid, ba_window_size); - /* Do not return, continue for other tids. */ - } + status = dp_peer_rx_reorder_queue_setup(soc, peer, BIT(tid), ba_window_size); + /* Do not return on failure, continue for other tids. */ + dp_info("peer %pK " QDF_MAC_ADDR_FMT " type %d setup tid %d ba_win_size %d%s", + peer, QDF_MAC_ADDR_REF(peer->mac_addr.raw), + peer->peer_type, tid, ba_window_size, + QDF_IS_STATUS_SUCCESS(status) ? " SUCCESS" : " FAILED"); for (tid = 0; tid < DP_MAX_TIDS - 1; tid++) { rx_tid = &mld_peer->rx_tid[tid]; ba_window_size = rx_tid->ba_status == DP_RX_BA_ACTIVE ? rx_tid->ba_win_size : 1; - status = dp_peer_rx_reorder_queue_setup(soc, peer, - tid, ba_window_size); - if (QDF_IS_STATUS_ERROR(status)) { - dp_info("peer %pK " QDF_MAC_ADDR_FMT " type %d failed to setup tid %d ba_win_size %d", - peer, QDF_MAC_ADDR_REF(peer->mac_addr.raw), - peer->peer_type, tid, ba_window_size); - /* Do not return, continue for other tids. */ - } + status = dp_peer_rx_reorder_queue_setup(soc, peer, BIT(tid), + ba_window_size); + /* Do not return on failure, continue for other tids. */ + dp_info("peer %pK " QDF_MAC_ADDR_FMT " type %d setup tid %d ba_win_size %d%s", + peer, QDF_MAC_ADDR_REF(peer->mac_addr.raw), + peer->peer_type, tid, ba_window_size, + QDF_IS_STATUS_SUCCESS(status) ? " SUCCESS" : " FAILED"); } }