mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-14 08:36:12 -04:00
msm: gsi: Fix the incorrect evt ring pointer
The pointer should be event ring pointer, not transfer ring pointer, it has chance to get wrong upper 32 bits when smmu is disabled. Signed-off-by: Cheng Zeng <quic_chenzeng@quicinc.com>
This commit is contained in:
parent
1024d06f3f
commit
8aa0d102d8
1 changed files with 2 additions and 2 deletions
|
|
@ -4057,7 +4057,7 @@ int gsi_poll_n_channel(unsigned long chan_hdl,
|
|||
/* update rp to see of we have anything new to process */
|
||||
rp = ctx->evtr->props.gsi_read_event_ring_rp(
|
||||
&ctx->evtr->props, ctx->evtr->id, ee);
|
||||
rp |= ctx->ring.rp & 0xFFFFFFFF00000000ULL;
|
||||
rp |= ctx->evtr->ring.rp & 0xFFFFFFFF00000000ULL;
|
||||
|
||||
ctx->evtr->ring.rp = rp;
|
||||
/* read gsi event ring rp again if last read is empty */
|
||||
|
|
@ -4069,7 +4069,7 @@ int gsi_poll_n_channel(unsigned long chan_hdl,
|
|||
__iowmb();
|
||||
rp = ctx->evtr->props.gsi_read_event_ring_rp(
|
||||
&ctx->evtr->props, ctx->evtr->id, ee);
|
||||
rp |= ctx->ring.rp & 0xFFFFFFFF00000000ULL;
|
||||
rp |= ctx->evtr->ring.rp & 0xFFFFFFFF00000000ULL;
|
||||
ctx->evtr->ring.rp = rp;
|
||||
if (rp == ctx->evtr->ring.rp_local) {
|
||||
spin_unlock_irqrestore(
|
||||
|
|
|
|||
Loading…
Reference in a new issue