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
This commit is contained in:
Jyoti Kumari 2021-06-10 14:10:21 +05:30 • committed by Madan Koyyalamudi
commit 8410a79c5f

View file

@ -38,8 +38,8 @@
#include <wlan_cp_stats_mc_ucfg_api.h>
#include <wlan_mlme_twt_ucfg_api.h>
#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);
}