> > >how about to do pcm_link/unlink in open/close or prepare callback? >they are definitely not called from interrupts. > The idea of calling pcm_unlink in trigger (PLAYBACK_STOP) function is to stop the DMA tranfers, and so on stop the DSP from requesting interrupts, and still have the channel prepared to be quickly started again on trigger (PLAYBACK_START/RESUME).
Another idea that I have in mind is to use in_interrupt() && schedule_task() functions, then if _trigger function is called from interrupt context, mute/unmute pcm channel, use schedule_task() to indirectly invoke pcm_link/unlink. Otherwise if not in interrupt context call pcm_link/unlnk directly using mutexes. What do you think ? /Benny ------------------------------------------------------- This sf.net email is sponsored by: OSDN - Tired of that same old cell phone? Get a new here for FREE! https://www.inphonic.com/r.asp?r=sourceforge1&refcode1=vs3390 _______________________________________________ Alsa-devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/alsa-devel