From 556a192ff5a5c79b6300c82f86eba436611b2618 Mon Sep 17 00:00:00 2001 From: Lin Bai Date: Fri, 10 Nov 2017 20:32:04 +0800 Subject: [PATCH] qcacld-3.0: Useless info sent by hdd_send_wlan_tp_ind The gerrit which separates TcpDelAck and TcpAdvWinScale, is involving the regression issue, that API hdd_send_wlan_tp_ind will send useless info to upper. Need set flag and rx_level members properly in indication. CRs-Fixed: 2141612 Change-Id: I85082e2513f843edaec8365e0abddf572112c535 --- core/hdd/inc/wlan_hdd_main.h | 17 ++--------------- core/hdd/src/wlan_hdd_lro.c | 11 +++++++++-- core/hdd/src/wlan_hdd_main.c | 8 -------- 3 files changed, 11 insertions(+), 25 deletions(-) diff --git a/core/hdd/inc/wlan_hdd_main.h b/core/hdd/inc/wlan_hdd_main.h index 639322656d..41d66bbec9 100644 --- a/core/hdd/inc/wlan_hdd_main.h +++ b/core/hdd/inc/wlan_hdd_main.h @@ -1970,16 +1970,7 @@ void hdd_bus_bandwidth_destroy(struct hdd_context *hdd_ctx); */ void hdd_bus_bw_cancel_work(struct hdd_context *hdd_ctx); -/** - * hdd_send_wlan_tp_ind() - Send throughput indication - * @hdd_ctx: HDD context - * - * Send throughput indication - * - * Return: None. - */ -void hdd_send_wlan_tp_ind(struct hdd_context *hdd_ctx); - +#define GET_CUR_RX_LVL(config) ((config)->cur_rx_level) #define GET_BW_COMPUTE_INTV(config) ((config)->busBandwidthComputeInterval) #else @@ -2020,11 +2011,7 @@ void hdd_bus_bw_cancel_work(struct hdd_context *hdd_ctx) { } -static inline -void hdd_send_wlan_tp_ind(struct hdd_context *hdd_ctx) -{ -} - +#define GET_CUR_RX_LVL(config) 0 #define GET_BW_COMPUTE_INTV(config) 0 #endif diff --git a/core/hdd/src/wlan_hdd_lro.c b/core/hdd/src/wlan_hdd_lro.c index 6e9d57324b..c3a633483f 100644 --- a/core/hdd/src/wlan_hdd_lro.c +++ b/core/hdd/src/wlan_hdd_lro.c @@ -234,7 +234,7 @@ hdd_lro_set_reset(struct hdd_context *hdd_ctx, struct hdd_adapter *adapter, hdd_debug("Enable TCP delack as LRO is disabled"); rx_tp_data.rx_tp_flags = TCP_DEL_ACK_IND; - rx_tp_data.level = hdd_ctx->cur_rx_level; + rx_tp_data.level = GET_CUR_RX_LVL(hdd_ctx); wlan_hdd_send_svc_nlink_msg(hdd_ctx->radio_index, WLAN_SVC_WLAN_TP_IND, &rx_tp_data, @@ -257,8 +257,15 @@ void hdd_disable_lro_in_concurrency(bool disable) if (disable) { if (hdd_ctx->en_tcp_delack_no_lro) { + struct wlan_rx_tp_data rx_tp_data; + hdd_info("Enable TCP delack as LRO disabled in concurrency"); - hdd_send_wlan_tp_ind(hdd_ctx); + rx_tp_data.rx_tp_flags = TCP_DEL_ACK_IND; + rx_tp_data.level = GET_CUR_RX_LVL(hdd_ctx); + wlan_hdd_send_svc_nlink_msg(hdd_ctx->radio_index, + WLAN_SVC_WLAN_TP_IND, + &rx_tp_data, + sizeof(rx_tp_data)); hdd_ctx->en_tcp_delack_no_lro = 1; } qdf_atomic_set(&hdd_ctx->disable_lro_in_concurrency, 1); diff --git a/core/hdd/src/wlan_hdd_main.c b/core/hdd/src/wlan_hdd_main.c index 71fd6c715e..5ddd927ffb 100644 --- a/core/hdd/src/wlan_hdd_main.c +++ b/core/hdd/src/wlan_hdd_main.c @@ -6656,14 +6656,6 @@ void hdd_bus_bw_cancel_work(struct hdd_context *hdd_ctx) cancel_work_sync(&hdd_ctx->bus_bw_work); } -void hdd_send_wlan_tp_ind(struct hdd_context *hdd_ctx) -{ - struct wlan_rx_tp_data rx_tp_data = {0}; - - wlan_hdd_send_svc_nlink_msg(hdd_ctx->radio_index, - WLAN_SVC_WLAN_TP_IND, &rx_tp_data, - sizeof(rx_tp_data)); -} #endif /**