-
Notifications
You must be signed in to change notification settings - Fork 127
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
kernel oops during sof_bootloop.sh test #1466
Comments
This seems to happen during a pm_runtime resume operation
|
same problem on HDAudio+DMIC machine... Gah. |
@plbossart a long shot but can you please try if this helps? diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c
index 55014e7ae0d8..317fc0e0d54c 100644
--- a/sound/soc/soc-core.c
+++ b/sound/soc/soc-core.c
@@ -311,7 +311,6 @@ static int snd_soc_rtdcom_add(struct snd_soc_pcm_runtime *rtd,
return -ENOMEM;
rtdcom->component = component;
- INIT_LIST_HEAD(&rtdcom->list);
/*
* When rtd was freed, created rtdcom here will be
@@ -430,6 +429,8 @@ static void soc_free_pcm_runtime(struct snd_soc_pcm_runtime *rtd)
* soc_new_pcm_runtime()
*/
device_unregister(rtd->dev);
+
+ INIT_LIST_HEAD(&rtd->component_list);
}
static struct snd_soc_pcm_runtime *soc_new_pcm_runtime( |
The error is "root-caused' to "ASoC: soc-core: add soc_unbind_dai_link()" the code moved the pcm runtime cleanup from soc_cleanup_card_resources() to snd_soc_remove_dai_link(), but the latter is called both from soc_cleanup_card_resources() and topology. I have no idea why things are done in this way... |
@plbossart Im guessing my change didnt help then. Anyway, my theory is that the problem is caused because snd_soc_remove_dai_link() called when the topology is removed unregisters the rtd->dev and later on when the pcm->private_free() gets called, it runs into errors because both the rtd device has been already unregistered and the component removed too. |
Error not seen on Environment |
closed |
Just saw this on SoundWire device, this may be related to recent ALSA/soc-core changes?
The text was updated successfully, but these errors were encountered: