Hello. Takashi Iwai wrote: > No, close callback is always after the hw_free callback. > So, in hw_free callback, you just need to assure that hrtimer callback > is finished (and/or cancel it). After that, you are free to work > without considering hrtimer stuff. Here is my first attempt on that. The optimization you mention above is possible, but I haven't done it (yet). Because I think it will obscure things. I can't really say if this code is better than before - it looks cleaner but adds 3 locks. > We don't drop pcm substream lock here because we don't need to acquire > it. Why not? Because it is not recommended to use any more, or for some other reason? I mostly need the hrtimer callback to be protected from all the pcm callbacks, modulo the (IMO questionable) optimization. So why not would I just use the substream lock?