From a3bfceb5aff1c3374c8a163539a2ed6573475ce7 Mon Sep 17 00:00:00 2001 From: Mohammed Siddiq Date: Fri, 7 Jan 2022 11:45:53 +0530 Subject: [PATCH] cnss2: Add code to address boot timer debug corner case To handle corner case where mhi power on success and the boot debug timer handler execution(i.e dumping register) runs parellel. Even-though the timer is deleted as soon as mhi is powered on, as this handler is still running it is armed again. Use del_timer_sync which makes sure the timer is not queued and the handler is not running upon its exit. Change-Id: Ie428f3e8af8870018dfed99a5472afca14116bb3 Signed-off-by: Mohammed Siddiq --- drivers/net/wireless/cnss2/pci.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/wireless/cnss2/pci.c b/drivers/net/wireless/cnss2/pci.c index 5237a9b55e6a..ccea088d6a95 100644 --- a/drivers/net/wireless/cnss2/pci.c +++ b/drivers/net/wireless/cnss2/pci.c @@ -1918,7 +1918,7 @@ int cnss_pci_start_mhi(struct cnss_pci_data *pci_priv) jiffies + msecs_to_jiffies(BOOT_DEBUG_TIMEOUT_MS)); ret = cnss_pci_set_mhi_state(pci_priv, CNSS_MHI_POWER_ON); - del_timer(&pci_priv->boot_debug_timer); + del_timer_sync(&pci_priv->boot_debug_timer); if (ret == 0) cnss_wlan_adsp_pc_enable(pci_priv, false);