mirror of
https://github.com/SerenityOS/serenity
synced 2024-10-15 20:33:10 +00:00
parent
689ad0752c
commit
497180a650
|
@ -69,9 +69,12 @@ bool AC97::handle_irq(RegisterState const&)
|
|||
bool is_completion_interrupt = (pcm_out_status & AudioStatusRegisterFlag::BufferCompletionInterruptStatus) > 0;
|
||||
bool is_fifo_error = (pcm_out_status & AudioStatusRegisterFlag::FIFOError) > 0;
|
||||
|
||||
VERIFY(is_completion_interrupt);
|
||||
VERIFY(!is_fifo_error);
|
||||
|
||||
// If there is no buffer completion, we're not going to do anything
|
||||
if (!is_completion_interrupt)
|
||||
return false;
|
||||
|
||||
// On interrupt, we need to reset PCM interrupt flags by setting their bits
|
||||
pcm_out_status = AudioStatusRegisterFlag::LastValidBufferCompletionInterrupt
|
||||
| AudioStatusRegisterFlag::BufferCompletionInterruptStatus
|
||||
|
@ -84,7 +87,6 @@ bool AC97::handle_irq(RegisterState const&)
|
|||
} else {
|
||||
m_irq_queue.wake_all();
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue