diff --git a/core/hdd/src/wlan_hdd_tx_rx.c b/core/hdd/src/wlan_hdd_tx_rx.c index e76db9bad531..96d5b76c0013 100644 --- a/core/hdd/src/wlan_hdd_tx_rx.c +++ b/core/hdd/src/wlan_hdd_tx_rx.c @@ -2060,6 +2060,9 @@ QDF_STATUS hdd_rx_thread_gro_flush_ind_cbk(void *adapter, int rx_ctx_id) return QDF_STATUS_E_FAILURE; } + if (hdd_adapter->runtime_disable_rx_thread) + return QDF_STATUS_SUCCESS; + if (hdd_is_low_tput_gro_enable(hdd_adapter->hdd_ctx)) { hdd_adapter->hdd_stats.tx_rx_stats.rx_gro_flush_skip++; gro_flush_code = DP_RX_GRO_LOW_TPUT_FLUSH; @@ -2231,7 +2234,8 @@ QDF_STATUS hdd_rx_deliver_to_stack(struct hdd_adapter *adapter, if (skb_receive_offload_ok && hdd_ctx->receive_offload_cb && !hdd_ctx->dp_agg_param.gro_force_flush[rx_ctx_id] && - !adapter->gro_flushed[rx_ctx_id]) { + !adapter->gro_flushed[rx_ctx_id] && + !adapter->runtime_disable_rx_thread) { status = hdd_ctx->receive_offload_cb(adapter, skb); if (QDF_IS_STATUS_SUCCESS(status)) {