diff --git a/core/hdd/src/wlan_hdd_main.c b/core/hdd/src/wlan_hdd_main.c index 0f07a5b62c..de55c78971 100644 --- a/core/hdd/src/wlan_hdd_main.c +++ b/core/hdd/src/wlan_hdd_main.c @@ -14764,6 +14764,7 @@ static ssize_t wlan_hdd_state_ctrl_param_write(struct file *filp, static const char wlan_on_str[] = "ON"; int ret; unsigned long rc; + struct hdd_context *hdd_ctx = cds_get_context(QDF_MODULE_ID_HDD); if (copy_from_user(buf, user_buf, 3)) { pr_err("Failed to read buffer\n"); @@ -14794,6 +14795,13 @@ static ssize_t wlan_hdd_state_ctrl_param_write(struct file *filp, } } + /* + * Flush idle shutdown work for cases to synchronize the wifi on + * during the idle shutdown. + */ + if (hdd_ctx) + hdd_psoc_idle_timer_stop(hdd_ctx); + exit: return count; }