CVSROOT:        /cvs
Module name:    src
Changes by:     ratc...@cvs.openbsd.org 2020/02/13 14:00:48

Modified files:
        sys/dev        : audio.c 

Log message:
Fix missing locking during calls to selwakeup().

selwakeup() was called in the interrupt handler, i.e. with the
audio_lock held. We can't just grab the KERNEL_LOCK needed by
selwakeup(), because locks would be taken in the wrong order. Solve
this by defering selwakeup() calls to a softintr, called with the
KERNEL_LOCK held.

Mostly from mpi@, ok mpi@.

Reply via email to