diff options
author | Mark Brown <broonie@kernel.org> | 2022-01-28 23:45:33 +0300 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2022-01-28 23:45:33 +0300 |
commit | 4c38f8747c5769a272bc6557c2504d218f01914e (patch) | |
tree | 56196342cd9ed96e6f152f5d066d0151f111c171 /sound/core/pcm_native.c | |
parent | 4045daf0fa87846a27f56329fddad2deeb5ca354 (diff) | |
parent | 9f620684c1ef5a002b6622ecc7b5818e81252f48 (diff) | |
download | linux-4c38f8747c5769a272bc6557c2504d218f01914e.tar.xz |
ASoC DPCM lockdep fixes
Merge series from Takashi Iwai <tiwai@suse.de>:
This is the revised patches for addressing ASoC lockdep warnings due
to the recent DPCM locking refactoring.
Diffstat (limited to 'sound/core/pcm_native.c')
-rw-r--r-- | sound/core/pcm_native.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/sound/core/pcm_native.c b/sound/core/pcm_native.c index 621883e71194..a056b3ef3c84 100644 --- a/sound/core/pcm_native.c +++ b/sound/core/pcm_native.c @@ -172,6 +172,19 @@ unsigned long _snd_pcm_stream_lock_irqsave(struct snd_pcm_substream *substream) } EXPORT_SYMBOL_GPL(_snd_pcm_stream_lock_irqsave); +unsigned long _snd_pcm_stream_lock_irqsave_nested(struct snd_pcm_substream *substream) +{ + unsigned long flags = 0; + if (substream->pcm->nonatomic) + mutex_lock_nested(&substream->self_group.mutex, + SINGLE_DEPTH_NESTING); + else + spin_lock_irqsave_nested(&substream->self_group.lock, flags, + SINGLE_DEPTH_NESTING); + return flags; +} +EXPORT_SYMBOL_GPL(_snd_pcm_stream_lock_irqsave_nested); + /** * snd_pcm_stream_unlock_irqrestore - Unlock the PCM stream * @substream: PCM substream |