diff options
| author | Mohit Khanna <mkhannaqca@codeaurora.org> | 2017-02-08 21:08:56 -0800 |
|---|---|---|
| committer | qcabuildsw <qcabuildsw@localhost> | 2017-02-10 10:24:59 -0800 |
| commit | 22d1bb4ea2ee032a9259434a55e3fd52077347d4 (patch) | |
| tree | e25e274b7228945c9e75209108d106a2b2beb2bd | |
| parent | b14f894e1373a94b34258ab2f949fa83baf51367 (diff) | |
qcacld-3.0: Fix Rx throughput level calculation
Currently the rx throughput level is getting set to TP_NONE immediately
after it goes high. This will send incorrect values for
tcp_adv_win_scaling to cnss-daemon.
Fix the RX throuhgput level by making next_rx_level a static variable.
Now if next_rx_level is calculated to be HIGH, it will stay HIGH until
RX throughput falls below the threshold
Change-Id: Iaa36e4ff6d846e29b3beadd998a3d6fd334c1a5b
CRs-Fixed: 2004944
| -rw-r--r-- | core/hdd/src/wlan_hdd_main.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/core/hdd/src/wlan_hdd_main.c b/core/hdd/src/wlan_hdd_main.c index 120733650dae..71e9ab277871 100644 --- a/core/hdd/src/wlan_hdd_main.c +++ b/core/hdd/src/wlan_hdd_main.c @@ -5384,7 +5384,7 @@ static void hdd_pld_request_bus_bandwidth(hdd_context_t *hdd_ctx, uint64_t temp_rx = 0; uint64_t temp_tx = 0; enum pld_bus_width_type next_vote_level = PLD_BUS_WIDTH_NONE; - enum wlan_tp_level next_rx_level = WLAN_SVC_TP_NONE; + static enum wlan_tp_level next_rx_level = WLAN_SVC_TP_NONE; enum wlan_tp_level next_tx_level = WLAN_SVC_TP_NONE; uint32_t delack_timer_cnt = hdd_ctx->config->tcp_delack_timer_count; uint16_t index = 0; @@ -5431,7 +5431,6 @@ static void hdd_pld_request_bus_bandwidth(hdd_context_t *hdd_ctx, hdd_ctx->prev_rx = rx_packets; - next_rx_level = WLAN_SVC_TP_LOW; 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)) { @@ -5439,6 +5438,7 @@ static void hdd_pld_request_bus_bandwidth(hdd_context_t *hdd_ctx, } } else { hdd_ctx->rx_high_ind_cnt = 0; + next_rx_level = WLAN_SVC_TP_LOW; } if (hdd_ctx->cur_rx_level != next_rx_level) { |
