Since the possible application's behavior after this pause is as same as the normal pause (i.e. either resuming pause or dropping), I find it OK to take the original approach.
Thank you for the review. I think that I should resend the original patch.
Let's wait a bit for other opinions. We may add rather a new flag instead of introducing a new state, too, for example.
Also, I'm not sure about any side-effect to drivers that expect the pause only during the running state. We might need some check for a capability flag?
Ok. I will wait for more opinion and then resend fixed patch.
Question: have you thought about the case where a 'partial drain' happens, typically when you are doing gapless playback?
I see in snd_compress_wait_for_drain() a wait on a state different from DRAINING, which is precisely what would be modified with your proposal. It's been a while since I looked at this code but it'd be worth checking that the pause is supported in 'normal' and 'partial' drain cases.