wlan: Dynamically change tcp delay ack using hdd stats
We start a periodic timer in which we monitor number of rx
packets received. Using this count we decide bus width/rx_level.
We send this throughput level to cnss-daemon so that daemon can
dynamically set tcp delay ack value based on current receive
traffic situation to improve tcp performace. Added ini item to
enable this feature.
CRs-Fixed: 763246
Change-Id: I61f8a55ec9215a8fe86433d9f34a8ee7082a04bb
diff --git a/CORE/HDD/src/wlan_hdd_cfg80211.c b/CORE/HDD/src/wlan_hdd_cfg80211.c
index 0125dc6..8a1ab9c 100644
--- a/CORE/HDD/src/wlan_hdd_cfg80211.c
+++ b/CORE/HDD/src/wlan_hdd_cfg80211.c
@@ -18033,6 +18033,9 @@
}
}
}
+ /* stop TCP delack timer if TDLS is enable */
+ set_bit(WLAN_TDLS_MODE, &pHddCtx->mode);
+ hdd_manage_delack_timer(pHddCtx);
}
break;
case NL80211_TDLS_DISABLE_LINK:
@@ -18174,6 +18177,11 @@
VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_ERROR,
"%s: TDLS Peer Station doesn't exist.", __func__);
}
+ if (numCurrTdlsPeers == 0) {
+ /* start TCP delack timer if TDLS is disable */
+ clear_bit(WLAN_TDLS_MODE, &pHddCtx->mode);
+ hdd_manage_delack_timer(pHddCtx);
+ }
}
break;
case NL80211_TDLS_TEARDOWN: