drm/nouveau/tmr: ack interrupt before processing alarms
Fixes a race where we can miss an alarm that triggers while we're already processing previous alarms. Signed-off-by: Ben Skeggs <bskeggs@redhat.com> Cc: stable@vger.kernel.org
This commit is contained in:
parent
89ed10a572
commit
3733bd8b40
@ -76,8 +76,8 @@ nv04_timer_intr(struct nvkm_timer *tmr)
|
||||
u32 stat = nvkm_rd32(device, NV04_PTIMER_INTR_0);
|
||||
|
||||
if (stat & 0x00000001) {
|
||||
nvkm_timer_alarm_trigger(tmr);
|
||||
nvkm_wr32(device, NV04_PTIMER_INTR_0, 0x00000001);
|
||||
nvkm_timer_alarm_trigger(tmr);
|
||||
stat &= ~0x00000001;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user