From 41ed5d8324e68935c4ef97ebe5d2b0f4622abc2a Mon Sep 17 00:00:00 2001 From: Jianmin Zhu Date: Tue, 27 Apr 2021 18:35:39 +0800 Subject: [PATCH] qcacld-3.0: Fix No AMSDU/MPDU aggregation issue Host need set tx_aggr_size_disable bit when host tx aggregation is unsupported. Change-Id: I0c86e74f6447f401d24660e1291abf969b1abbe6 CRs-Fixed: 2931245 --- core/wma/src/wma_features.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/core/wma/src/wma_features.c b/core/wma/src/wma_features.c index cc627b9c1524..9a60e5dd0f40 100644 --- a/core/wma/src/wma_features.c +++ b/core/wma/src/wma_features.c @@ -4029,9 +4029,12 @@ QDF_STATUS wma_set_tx_rx_aggr_size(uint8_t vdev_id, /* bit 2 (aggr_type): TX Aggregation Type (0=A-MPDU, 1=A-MSDU) */ if (aggr_type == WMI_VDEV_CUSTOM_AGGR_TYPE_AMSDU) cmd->enable_bitmap |= 0x04; - /* bit 3 (tx_aggr_size_disable): If set tx_aggr_size is invalid */ - if (rx_size == 0) + /* Set bit3(tx_aggr_size_disable) if tx_aggr_size is invalid */ + if (tx_size == 0) cmd->enable_bitmap |= (0x1 << 3); + /* Set bit4(rx_aggr_size_disable) if rx_aggr_size is invalid */ + if (rx_size == 0) + cmd->enable_bitmap |= (0x1 << 4); cmd->enable_bitmap |= (0x1 << 6); @@ -4095,8 +4098,7 @@ QDF_STATUS wma_set_tx_rx_aggr_size_per_ac(WMA_HANDLE handle, cmd->rx_aggr_size = qos_aggr->rx_aggregation_size; cmd->tx_aggr_size = tx_aggr_size[queue_num]; /* bit 5: tx_ac_enable, if set, ac bitmap is valid. */ - if (cmd->rx_aggr_size != 0) - cmd->enable_bitmap = 0x20 | queue_num; + cmd->enable_bitmap = 0x20 | queue_num; /* bit 2 (aggr_type): TX Aggregation Type (0=A-MPDU, 1=A-MSDU) */ if (aggr_type == WMI_VDEV_CUSTOM_AGGR_TYPE_AMSDU) cmd->enable_bitmap |= 0x04;