Skip to content

Commit e671fb8

Browse files
ygbluekvalo
authored andcommitted
wifi: ath12k: send WMI_PEER_REORDER_QUEUE_SETUP_CMDID when ADDBA session starts
Low receive throughput is seen on WCN7850 because ADDBA related parameters are not updated to firmware when receive ADDBA session starts. Fix it by sending WMI_PEER_REORDER_QUEUE_SETUP_CMDID again to firmware to update the ADDBA related parameters for chips which have false reoq_lut_support in hw_params. For chips which have true reoq_lut_support in hw_params don't need this command to send to firmware. Tested-on: WCN7850 hw2.0 PCI WLAN.HMT.1.0-03427-QCAHMTSWPL_V1.0_V2.0_SILICONZ-1.15378.4 Signed-off-by: Carl Huang <quic_cjhuang@quicinc.com> Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com> Link: https://lore.kernel.org/r/20230404070158.3368530-1-quic_cjhuang@quicinc.com
1 parent 34c5625 commit e671fb8

1 file changed

Lines changed: 13 additions & 1 deletion

File tree

  • drivers/net/wireless/ath/ath12k

drivers/net/wireless/ath/ath12k/dp_rx.c

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -978,7 +978,19 @@ int ath12k_dp_rx_peer_tid_setup(struct ath12k *ar, const u8 *peer_mac, int vdev_
978978
return ret;
979979
}
980980

981-
return ret;
981+
if (!ab->hw_params->reoq_lut_support) {
982+
ret = ath12k_wmi_peer_rx_reorder_queue_setup(ar, vdev_id,
983+
peer_mac,
984+
paddr, tid, 1,
985+
ba_win_sz);
986+
if (ret) {
987+
ath12k_warn(ab, "failed to setup peer rx reorder queuefor tid %d: %d\n",
988+
tid, ret);
989+
return ret;
990+
}
991+
}
992+
993+
return 0;
982994
}
983995

984996
rx_tid->tid = tid;

0 commit comments

Comments
 (0)