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

Commit 4ec1f1d6 authored by Benjamin Chan's avatar Benjamin Chan Committed by Narendra Muppalla
Browse files

msm: sde: Move SDE rotator timeout evtlog outside of spinlock



During an timeout event in the SDE rotator driver, a spinlock with IRQ
is disabled in order to capture the rotator hw status registers. If
during this time performs an evtlog timeout logging, a mutex_lock
within the logging sequence will cause a panic. We must and only should
perform the evtlog timeout logging after the spinlock is released.

CRs-Fixed: 1067811
Change-Id: I56b7e5713069ad8ac8d5ae43a492a0ab0f4e82ff
Signed-off-by: default avatarBenjamin Chan <bkchan@codeaurora.org>
parent 53e3bcee
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -356,8 +356,6 @@ static void sde_hw_rotator_dump_status(struct sde_hw_rotator *rot)
			REGDMA_CSR_REGDMA_INVALID_CMD_RAM_OFFSET),
		SDE_ROTREG_READ(rot->mdss_base,
			REGDMA_CSR_REGDMA_FSM_STATE));

	SDEROT_EVTLOG_TOUT_HANDLER("rot", "vbif_dbg_bus", "panic");
}

/**
@@ -1096,6 +1094,9 @@ static u32 sde_hw_rotator_wait_done_regdma(

	sts = (status & ROT_ERROR_BIT) ? -ENODEV : 0;

	if (status & ROT_ERROR_BIT)
		SDEROT_EVTLOG_TOUT_HANDLER("rot", "vbif_dbg_bus", "panic");

	return sts;
}