Browse Source

qcacld-3.0: Handle GRO packets for runtime rx_thread disable

In lithium GRO is not supported with rx_thread
disable. Add similar handling as part of runtime
rx_thread disable.

Change-Id: I897179ecdfd83f8dde7cd997e943ffb276b1afad
CRs-Fixed: 2794023
Nirav Shah 4 years ago
parent
commit
964abf61bc
1 changed files with 5 additions and 1 deletions
  1. 5 1
      core/hdd/src/wlan_hdd_tx_rx.c

+ 5 - 1
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)) {