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

Commit a5e75c2f authored by Arun Kumar Neelakantam's avatar Arun Kumar Neelakantam
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 6cec3ff5
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -849,7 +849,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;