diff --git a/hif/src/pcie/if_pci.c b/hif/src/pcie/if_pci.c index 4ff792efd867..2ed8779405a8 100644 --- a/hif/src/pcie/if_pci.c +++ b/hif/src/pcie/if_pci.c @@ -2418,8 +2418,12 @@ int hif_pci_bus_resume_noirq(struct hif_softc *scn) { hif_apps_wake_irq_disable(GET_HIF_OPAQUE_HDL(scn)); - if (hif_can_suspend_link(GET_HIF_OPAQUE_HDL(scn))) - qdf_atomic_set(&scn->link_suspended, 0); + /* a vote for link up can come in the middle of the ongoing resume + * process. hence, clear the link suspend flag once + * hif_bus_resume_noirq() succeeds since PCIe link is already resumed + * by this time + */ + qdf_atomic_set(&scn->link_suspended, 0); return 0; }