Revert "ASoC: soc-pcm: Move debugfs removal out of spinlock"
This reverts commit 44b685c4ba which is
commit 9f620684c1ef5a002b6622ecc7b5818e81252f48 upstream.
It is part of a series of ASoC patches that break the Android abi. If
they are needed in the future they can be brought back in an ABI-safe
way.
Bug: 161946584
Change-Id: I33f0193b06e850bfb8f5d5ef30541f86f38e3161
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
This commit is contained in:
@@ -1283,7 +1283,6 @@ static void dpcm_be_reparent(struct snd_soc_pcm_runtime *fe,
|
||||
void dpcm_be_disconnect(struct snd_soc_pcm_runtime *fe, int stream)
|
||||
{
|
||||
struct snd_soc_dpcm *dpcm, *d;
|
||||
LIST_HEAD(deleted_dpcms);
|
||||
|
||||
snd_soc_dpcm_mutex_assert_held(fe);
|
||||
|
||||
@@ -1303,18 +1302,13 @@ void dpcm_be_disconnect(struct snd_soc_pcm_runtime *fe, int stream)
|
||||
/* BEs still alive need new FE */
|
||||
dpcm_be_reparent(fe, dpcm->be, stream);
|
||||
|
||||
list_del(&dpcm->list_be);
|
||||
list_move(&dpcm->list_fe, &deleted_dpcms);
|
||||
}
|
||||
snd_soc_dpcm_stream_unlock_irq(fe, stream);
|
||||
|
||||
while (!list_empty(&deleted_dpcms)) {
|
||||
dpcm = list_first_entry(&deleted_dpcms, struct snd_soc_dpcm,
|
||||
list_fe);
|
||||
list_del(&dpcm->list_fe);
|
||||
dpcm_remove_debugfs_state(dpcm);
|
||||
|
||||
list_del(&dpcm->list_be);
|
||||
list_del(&dpcm->list_fe);
|
||||
kfree(dpcm);
|
||||
}
|
||||
snd_soc_dpcm_stream_unlock_irq(fe, stream);
|
||||
}
|
||||
|
||||
/* get BE for DAI widget and stream */
|
||||
|
||||
Reference in New Issue
Block a user