Pierre-Louis Bossart ac3467ad7f ALSA: hda: ext: fix locking in stream_release
The snd_hdac_ext_stream_release() routine uses the bus reg_lock, but
releases it before calling snd_hdac_stream_release() where the bus
reg_lock is taken again.

This creates a timing window where the link stream release could test
an invalid 'opened' boolean status and fail to recouple the host and
link parts.

Fix by exposing a locked version of snd_hdac_stream_release() and use
it without releasing the spinlock.

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Reviewed-by: Péter Ujfalusi <peter.ujfalusi@linux.intel.com>
Reviewed-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
Link: https://lore.kernel.org/r/20220919121041.43463-8-pierre-louis.bossart@linux.intel.com
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2022-09-20 08:08:14 +02:00
..
2022-07-29 12:57:10 +02:00
2022-07-15 16:11:58 +02:00
2022-07-29 12:57:11 +02:00
2017-11-13 15:45:57 +01:00
2020-11-30 12:54:02 +00:00
2022-06-24 16:21:41 +01:00
2022-06-10 13:32:05 +01:00
2020-09-09 18:32:52 +02:00
2019-10-25 11:06:57 +01:00