Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8410a79c authored by Jyoti Kumari's avatar Jyoti Kumari Committed by Madan Koyyalamudi
Browse files

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
parent f70ecf07
Loading
Loading
Loading
Loading
+2 −3
Original line number Diff line number Diff line
@@ -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);
}