Browse Source

qcacld-3.0: Fix throughput regression in 5G TCP DL due to tcp delack

Incorrect integration of a change caused tcp delayed ack not
to trigger resulting in overall lower throughput.

Change-Id: I3a35a70515e4e61a4c81f14f8881e989ac5ac039
CRs-Fixed: 1075723
Ravi Joshi 8 years ago
parent
commit
fed835703b
1 changed files with 5 additions and 4 deletions
  1. 5 4
      core/hdd/src/wlan_hdd_main.c

+ 5 - 4
core/hdd/src/wlan_hdd_main.c

@@ -5305,10 +5305,11 @@ static void hdd_pld_request_bus_bandwidth(hdd_context_t *hdd_ctx,
 	temp_rx = (rx_packets + hdd_ctx->prev_rx) / 2;
 
 	hdd_ctx->prev_rx = rx_packets;
-	if (temp_rx > hdd_ctx->config->tcpDelackThresholdHigh &&
-	    (hdd_ctx->cur_rx_level != WLAN_SVC_TP_HIGH &&
-	    ++hdd_ctx->rx_high_ind_cnt == delack_timer_cnt)) {
-		next_rx_level = WLAN_SVC_TP_HIGH;
+	if (temp_rx > hdd_ctx->config->tcpDelackThresholdHigh) {
+		if ((hdd_ctx->cur_rx_level != WLAN_SVC_TP_HIGH) &&
+		   (++hdd_ctx->rx_high_ind_cnt == delack_timer_cnt)) {
+			next_rx_level = WLAN_SVC_TP_HIGH;
+		}
 	} else {
 		next_rx_level = WLAN_SVC_TP_LOW;
 		hdd_ctx->rx_high_ind_cnt = 0;