Merge "qcacld-3.0: Disable TCP delayed ack if LRO is enabled" into wlan-cld3.driver.lnx.2.0-dev

This commit is contained in:
CNSS_WLAN Service 2017-10-24 16:56:18 -07:00 • committed by Gerrit - the friendly Code Review server
commit 58efc23148
2 changed files with 20 additions and 2 deletions

View file

@ -1764,6 +1764,7 @@ struct hdd_context {
int user_configured_pkt_filter_rules;
bool is_fils_roaming_supported;
qdf_atomic_t disable_lro_in_concurrency;
bool en_tcp_delack_no_lro;
};
/**

View file

@ -109,6 +109,10 @@ int hdd_lro_init(struct hdd_context *hdd_ctx)
return -EAGAIN;
}
if (hdd_ctx->config->enable_tcp_delack) {
hdd_ctx->en_tcp_delack_no_lro = 0;
hdd_reset_tcp_delack(hdd_ctx);
}
return 0;
}
@ -215,8 +219,21 @@ void hdd_disable_lro_in_concurrency(bool disable)
{
struct hdd_context *hdd_ctx = cds_get_context(QDF_MODULE_ID_HDD);
if (disable)
if (disable) {
if (hdd_ctx->en_tcp_delack_no_lro) {
hdd_info("Enable TCP delack as LRO disabled in concurrency");
wlan_hdd_send_svc_nlink_msg(hdd_ctx->radio_index,
WLAN_SVC_WLAN_TP_IND, &hdd_ctx->cur_rx_level,
sizeof(hdd_ctx->cur_rx_level));
hdd_ctx->en_tcp_delack_no_lro = 1;
}
qdf_atomic_set(&hdd_ctx->disable_lro_in_concurrency, 1);
else
} else {
if (hdd_ctx->en_tcp_delack_no_lro) {
hdd_info("Disable TCP delack as LRO is enabled");
hdd_ctx->en_tcp_delack_no_lro = 0;
hdd_reset_tcp_delack(hdd_ctx);
}
qdf_atomic_set(&hdd_ctx->disable_lro_in_concurrency, 0);
}
}