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

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

Merge "soc: qcom: glink: Fix not sending READ_NOTIF command issue"

parents 1b39365d 57efc49c
Loading
Loading
Loading
Loading
+13 −6
Original line number Diff line number Diff line
@@ -831,24 +831,31 @@ static bool get_rx_fifo(struct edge_info *einfo)
 */
static void tx_wakeup_worker(struct edge_info *einfo)
{
	struct glink_transport_if xprt_if = einfo->xprt_if;
	bool trigger_wakeup = false;
	bool trigger_resume = false;
	unsigned long flags;

	if (einfo->in_ssr)
		return;
	if (einfo->tx_resume_needed && fifo_write_avail(einfo)) {

	spin_lock_irqsave(&einfo->write_lock, flags);
	if (fifo_write_avail(einfo)) {
		if (einfo->tx_blocked_signal_sent)
			einfo->tx_blocked_signal_sent = false;
		if (einfo->tx_resume_needed) {
			einfo->tx_resume_needed = false;
		einfo->xprt_if.glink_core_if_ptr->tx_resume(
						&einfo->xprt_if);
			trigger_resume = true;
		}
	}
	spin_lock_irqsave(&einfo->write_lock, flags);
	if (waitqueue_active(&einfo->tx_blocked_queue)) { /* tx waiting ?*/
		einfo->tx_blocked_signal_sent = false;
		trigger_wakeup = true;
	}
	spin_unlock_irqrestore(&einfo->write_lock, flags);
	if (trigger_wakeup)
		wake_up_all(&einfo->tx_blocked_queue);
	if (trigger_resume)
		xprt_if.glink_core_if_ptr->tx_resume(&xprt_if);
}

/**