diff --git a/drivers/net/wireless/cnss2/pci.c b/drivers/net/wireless/cnss2/pci.c index fbd1584cc233..a13830d7c9a3 100644 --- a/drivers/net/wireless/cnss2/pci.c +++ b/drivers/net/wireless/cnss2/pci.c @@ -1685,7 +1685,9 @@ static void cnss_pci_time_sync_work_hdlr(struct work_struct *work) if (cnss_pci_pm_runtime_get_sync(pci_priv, RTPM_ID_CNSS) < 0) goto runtime_pm_put; + mutex_lock(&pci_priv->bus_lock); cnss_pci_update_timestamp(pci_priv); + mutex_unlock(&pci_priv->bus_lock); schedule_delayed_work(&pci_priv->time_sync_work, msecs_to_jiffies(time_sync_period_ms)); @@ -2791,7 +2793,9 @@ static int cnss_pci_suspend(struct device *dev) goto clear_flag; if (!pci_priv->disable_pc) { + mutex_lock(&pci_priv->bus_lock); ret = cnss_pci_suspend_bus(pci_priv); + mutex_unlock(&pci_priv->bus_lock); if (ret) goto resume_driver; }