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

Commit 25a5e3df authored by Tony Truong's avatar Tony Truong
Browse files

msm: pcie: update to use rpmsg_trysend instead of rpmsg_send



Clients listening on the other side of GLINK may not be
up and running yet to respond. Use rpmsg_trysend so that
PCIe will not be blocked on waiting for a response.

Change-Id: I479eade48d6f89ae36c20fdefc71658ebf2035e1
Signed-off-by: default avatarTony Truong <truong@codeaurora.org>
parent cf8acfa8
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -7102,7 +7102,8 @@ static int msm_pcie_drv_resume(struct msm_pcie_dev_t *pcie_dev)
		if (unlikely(drv_info->seq == MSM_PCIE_DRV_SEQ_RESV))
			drv_info->seq = 0;

		ret = rpmsg_send(rpdev->ept, drv_disable, sizeof(*drv_disable));
		ret = rpmsg_trysend(rpdev->ept, drv_disable,
					sizeof(*drv_disable));
		if (!ret) {
			ret = wait_for_completion_timeout(&drv_info->completion,
					msecs_to_jiffies(drv_info->timeout_ms));
@@ -7164,7 +7165,7 @@ static int msm_pcie_drv_suspend(struct msm_pcie_dev_t *pcie_dev)
	if (unlikely(drv_info->seq == MSM_PCIE_DRV_SEQ_RESV))
		drv_info->seq = 0;

	ret = rpmsg_send(rpdev->ept, drv_enable, sizeof(*drv_enable));
	ret = rpmsg_trysend(rpdev->ept, drv_enable, sizeof(*drv_enable));
	if (ret) {
		PCIE_ERR(pcie_dev, "PCIe: RC%d: DRV: failed to send rpmsg\n",
			pcie_dev->rc_idx);