pcm: Disable locking in async mode
pcm: Disable locking in async mode

When PCM is operated in async mode and an async handler calls some PCM
functions with lock during other PCM operations, we may hit a
deadlock.

Although async mode is rarely used, it's still a possible use case.
Disable the locking when the stream is opened in async mode or it's
set to async mode via snd_pcm_async().

Signed-off-by: Takashi Iwai <4596b3305151c7ee743192a95d394341e3d3b644@suse.de>

alsa-project/alsa-lib,alsa-project/alsa-lib,tiwai/alsa-lib,takaswie/alsa-lib,tiwai/alsa-lib,tiwai/alsa-lib,alsa-project/alsa-lib,takaswie/alsa-lib,takaswie/alsa-lib,tiwai/alsa-lib,alsa-project/alsa-lib,takaswie/alsa-lib,takaswie/alsa-lib