From 8410a79c5f3ca653a5c44d3ce5b9e1e130e33db8 Mon Sep 17 00:00:00 2001 From: Jyoti Kumari Date: Thu, 10 Jun 2021 14:10:21 +0530 Subject: [PATCH] qcacld-3.0: Remove flush work from TWT kworker thread wlan_twt_concurrency_update() calls the flush work internally. So when the caller calls wlan_twt_concurrency_update api in schedular context, flush work will block the schedular thread for 4 sec(twt enable/disable timeout value is 4sec). Because of this the other request will be block till this time. As part of fix, remove flush work and reduce twt enable/disable timeout to 1 sec Change-Id: I8f16da44b21cf54fcf2256aaef53371431e64aac CRs-Fixed: 2963695 --- core/hdd/src/wlan_hdd_twt.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/core/hdd/src/wlan_hdd_twt.c b/core/hdd/src/wlan_hdd_twt.c index 745c76f4ecb4..37574f582924 100644 --- a/core/hdd/src/wlan_hdd_twt.c +++ b/core/hdd/src/wlan_hdd_twt.c @@ -38,8 +38,8 @@ #include #include -#define TWT_DISABLE_COMPLETE_TIMEOUT 4000 -#define TWT_ENABLE_COMPLETE_TIMEOUT 4000 +#define TWT_DISABLE_COMPLETE_TIMEOUT 1000 +#define TWT_ENABLE_COMPLETE_TIMEOUT 1000 #define TWT_FLOW_TYPE_ANNOUNCED 0 #define TWT_FLOW_TYPE_UNANNOUNCED 1 @@ -4009,7 +4009,6 @@ void hdd_twt_update_work_handler(void *data) void wlan_twt_concurrency_update(struct hdd_context *hdd_ctx) { - qdf_flush_work(&hdd_ctx->twt_en_dis_work); qdf_sched_work(0, &hdd_ctx->twt_en_dis_work); }