diff --git a/core/dp/txrx/ol_txrx.c b/core/dp/txrx/ol_txrx.c index df24d693c900..05e4d0a3e060 100644 --- a/core/dp/txrx/ol_txrx.c +++ b/core/dp/txrx/ol_txrx.c @@ -313,9 +313,11 @@ void ol_tx_set_desc_global_pool_size(uint32_t num_msdu_desc) cdf_print("%s: pdev is NULL\n", __func__); return; } - pdev->num_msdu_desc = num_msdu_desc + TX_FLOW_MGMT_POOL_SIZE; - TXRX_PRINT(TXRX_PRINT_LEVEL_ERR, "Global pool size: %d = %d + %d\n", - pdev->num_msdu_desc, num_msdu_desc, TX_FLOW_MGMT_POOL_SIZE); + pdev->num_msdu_desc = num_msdu_desc; + if (!ol_tx_get_is_mgmt_over_wmi_enabled()) + pdev->num_msdu_desc += TX_FLOW_MGMT_POOL_SIZE; + TXRX_PRINT(TXRX_PRINT_LEVEL_ERR, "Global pool size: %d\n", + pdev->num_msdu_desc); return; } diff --git a/core/dp/txrx/ol_txrx_flow_control.c b/core/dp/txrx/ol_txrx_flow_control.c index 21d49908053f..77fd41ee1ed4 100644 --- a/core/dp/txrx/ol_txrx_flow_control.c +++ b/core/dp/txrx/ol_txrx_flow_control.c @@ -430,6 +430,9 @@ int ol_tx_delete_flow_pool(struct ol_tx_flow_pool_t *pool) cdf_spin_unlock_bh(&pool->flow_pool_lock); pdev->tx_desc.num_invalid_bin++; + TXRX_PRINT(TXRX_PRINT_LEVEL_ERR, + "%s: invalid pool created %d\n", + __func__, pdev->tx_desc.num_invalid_bin); if (pdev->tx_desc.num_invalid_bin > MAX_INVALID_BIN) ASSERT(0); @@ -477,6 +480,9 @@ int ol_tx_free_invalid_flow_pool(struct ol_tx_flow_pool_t *pool) cdf_spin_unlock_bh(&pool->flow_pool_lock); pdev->tx_desc.num_invalid_bin--; + TXRX_PRINT(TXRX_PRINT_LEVEL_ERR, + "%s: invalid pool deleted %d\n", + __func__, pdev->tx_desc.num_invalid_bin); return ol_tx_delete_flow_pool(pool); } diff --git a/core/wma/src/wma_main.c b/core/wma/src/wma_main.c index 07263102f653..f493262c8c0a 100644 --- a/core/wma/src/wma_main.c +++ b/core/wma/src/wma_main.c @@ -3771,7 +3771,6 @@ void wma_rx_service_ready_event(WMA_HANDLE handle, void *cmd_param_info) wma_handle->num_rf_chains = ev->num_rf_chains; wma_handle->target_fw_version = ev->fw_build_vers; - ol_tx_set_desc_global_pool_size(ev->num_msdu_desc); wma_handle->new_hw_mode_index = ev->default_dbs_hw_mode_index; WMA_LOGD("%s: Firmware default hw mode index : %d", @@ -3805,6 +3804,7 @@ void wma_rx_service_ready_event(WMA_HANDLE handle, void *cmd_param_info) ol_tx_set_is_mgmt_over_wmi_enabled( WMI_SERVICE_IS_ENABLED(wma_handle->wmi_service_bitmap, WMI_SERVICE_MGMT_TX_WMI)); + ol_tx_set_desc_global_pool_size(ev->num_msdu_desc); /* SWBA event handler for beacon transmission */ status = wmi_unified_register_event_handler(wma_handle->wmi_handle,