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

Commit ef4b3f6e authored by Arun Kumar Neelakantam's avatar Arun Kumar Neelakantam Committed by Chris Lew
Browse files

soc: qcom: glink_smem_native_xprt: recovery from SSR in tasklet only



Checking RX_FIFO allocation status from deferred thread also causes
in_ssr flag reset and reading stale data from FIFO, If the deferred
thread schedules after the execution of ssr() function.

Check RX_FIFO status only after receiving the interrupt from remote
side which happens after remote sub-system recover from SSR.

CRs-Fixed: 2054480
Change-Id: I39269f6b2e1f1cb9aecd25fa40e73c2d6f12dbd5
Signed-off-by: default avatarArun Kumar Neelakantam <aneela@codeaurora.org>
parent 7cff2be1
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -869,7 +869,7 @@ static void __rx_worker(struct edge_info *einfo, bool atomic_ctx)

	rcu_id = srcu_read_lock(&einfo->use_ref);

	if (unlikely(!einfo->rx_fifo)) {
	if (unlikely(!einfo->rx_fifo) && atomic_ctx) {
		if (!get_rx_fifo(einfo)) {
			srcu_read_unlock(&einfo->use_ref, rcu_id);
			return;