ASoC: soc-pcm: use GFP_KERNEL when the code is sleepable
At the kzalloc() call in dpcm_be_connect(), there is no spin lock involved. It's merely protected by card->pcm_mutex, instead. The spinlock is applied at the later call with snd_soc_pcm_stream_lock_irq() only for the list manipulations. (See it's *_irq(), not *_irqsave(); that means the context being sleepable at that point.) So, we can use GFP_KERNEL safely there. This patch revert commitd8a9c6e1f6
("ASoC: soc-pcm: use GFP_ATOMIC for dpcm structure") which is no longer needed since commitb7898396f4
("ASoC: soc-pcm: Fix and cleanup DPCM locking"). Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr> Link: https://lore.kernel.org/r/e740f1930843060e025e3c0f17ec1393cfdafb26.1648757961.git.christophe.jaillet@wanadoo.fr Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
5708cc2f4b
commit
fb6d679fee
|
@ -1214,7 +1214,7 @@ static int dpcm_be_connect(struct snd_soc_pcm_runtime *fe,
|
||||||
be_substream->pcm->nonatomic = 1;
|
be_substream->pcm->nonatomic = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
dpcm = kzalloc(sizeof(struct snd_soc_dpcm), GFP_ATOMIC);
|
dpcm = kzalloc(sizeof(struct snd_soc_dpcm), GFP_KERNEL);
|
||||||
if (!dpcm)
|
if (!dpcm)
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue