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

Commit a95d897e authored by Arun Kumar Neelakantam's avatar Arun Kumar Neelakantam
Browse files

soc: qcom: glink_smem: Add block_signal flag to tx_wakeup



READ_NOTIFY command is not written into FIFO again due incorrect wakeup
of tasks in TX blocked queue.

Add valid "tx_blocked_signal_sent" check before calling tx_wakeup.

Change-Id: Iec011746f555a49ea1635dcae4cd8162d9b619bd
Signed-off-by: default avatarArun Kumar Neelakantam <aneela@codeaurora.org>
parent 4f83e9a1
Loading
Loading
Loading
Loading
+5 −5
Original line number Diff line number Diff line
@@ -907,8 +907,7 @@ static void tx_wakeup_worker(struct edge_info *einfo)
			einfo->tx_resume_needed = false;
			trigger_resume = true;
		}
	}
	if (waitqueue_active(&einfo->tx_blocked_queue)) { /* tx waiting ?*/
		if (waitqueue_active(&einfo->tx_blocked_queue))/* tx waiting ?*/
			trigger_wakeup = true;
	}
	spin_unlock_irqrestore(&einfo->write_lock, flags);
@@ -963,8 +962,9 @@ static void __rx_worker(struct edge_info *einfo, bool atomic_ctx)
		einfo->xprt_if.glink_core_if_ptr->link_up(&einfo->xprt_if);
	}

	if ((atomic_ctx) && ((einfo->tx_resume_needed) ||
		(waitqueue_active(&einfo->tx_blocked_queue)))) /* tx waiting ?*/
	if ((atomic_ctx) && ((einfo->tx_resume_needed)
	    || (einfo->tx_blocked_signal_sent)
	    || (waitqueue_active(&einfo->tx_blocked_queue)))) /* tx waiting ?*/
		tx_wakeup_worker(einfo);

	/*