浏览代码

qcacmn: Clear PCIe link suspended state

RTPM wow resume gets triggered from ongoing WMI cmds related to SAP
getting started on the 5 GHz DFS channel. Even though PCIe link resume
is successful, there is a link up vote from UMAC and scn link suspended
state is not getting clear. Thus, clear the scn->link_suspended state
at the end of hif_pci_bus_resume_noirq() because before HIF PCIe bus resume
noirq phase is complete, PCIe link is already resumed.

Change-Id: If05593c95d2d63d271fed4abcf84b43e96cc070e
CRs-Fixed: 2833831
Alan Chen 4 年之前
父节点
当前提交
13a96842f7
共有 1 个文件被更改,包括 6 次插入2 次删除
  1. 6 2
      hif/src/pcie/if_pci.c

+ 6 - 2
hif/src/pcie/if_pci.c

@@ -2439,8 +2439,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;
 }