Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 57cdf05e authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "cnss: Recover PCIe configuration space during normal WLAN recovery"

parents 1d192bc5 36465e81
Loading
Loading
Loading
Loading
+2 −23
Original line number Original line Diff line number Diff line
@@ -2281,17 +2281,7 @@ static int cnss_shutdown(const struct subsys_desc *subsys, bool force_stop)
	if (wdrv && wdrv->shutdown)
	if (wdrv && wdrv->shutdown)
		wdrv->shutdown(pdev);
		wdrv->shutdown(pdev);


	if (penv->pcie_link_state && !penv->pcie_link_down_ind) {
	if (penv->pcie_link_state) {
		pci_save_state(pdev);
		penv->saved_state = pci_store_saved_state(pdev);
		if (msm_pcie_pm_control(MSM_PCIE_SUSPEND,
					cnss_get_pci_dev_bus_number(pdev),
					pdev, NULL, PM_OPTIONS)) {
			pr_debug("cnss: Failed to shutdown PCIe link!\n");
			ret = -EFAULT;
		}
		penv->pcie_link_state = PCIE_LINK_DOWN;
	} else if (penv->pcie_link_state && penv->pcie_link_down_ind) {
		if (msm_pcie_pm_control(MSM_PCIE_SUSPEND,
		if (msm_pcie_pm_control(MSM_PCIE_SUSPEND,
				cnss_get_pci_dev_bus_number(pdev),
				cnss_get_pci_dev_bus_number(pdev),
				pdev, NULL, PM_OPTIONS_SUSPEND_LINK_DOWN)) {
				pdev, NULL, PM_OPTIONS_SUSPEND_LINK_DOWN)) {
@@ -2345,18 +2335,7 @@ static int cnss_powerup(const struct subsys_desc *subsys)
		goto err_pcie_link_up;
		goto err_pcie_link_up;
	}
	}


	if (!penv->pcie_link_state && !penv->pcie_link_down_ind) {
	if (!penv->pcie_link_state) {
		ret = msm_pcie_pm_control(MSM_PCIE_RESUME,
				  cnss_get_pci_dev_bus_number(pdev),
				  pdev, NULL, PM_OPTIONS);

		if (ret) {
			pr_err("cnss: Failed to bring-up PCIe link!\n");
			goto err_pcie_link_up;
		}
		penv->pcie_link_state = PCIE_LINK_UP;

	} else if (!penv->pcie_link_state && penv->pcie_link_down_ind) {
		ret = msm_pcie_pm_control(MSM_PCIE_RESUME,
		ret = msm_pcie_pm_control(MSM_PCIE_RESUME,
			cnss_get_pci_dev_bus_number(pdev),
			cnss_get_pci_dev_bus_number(pdev),
			pdev, NULL, PM_OPTIONS_RESUME_LINK_DOWN);
			pdev, NULL, PM_OPTIONS_RESUME_LINK_DOWN);