On Fri, 2019-04-05 at 09:17 +0700, Mark Brown wrote:
On Thu, Apr 04, 2019 at 05:30:38PM -0700, Ranjani Sridharan wrote:
Typically, topology is loaded when the card is registered by the machine driver and the link components are probed. Therefore, it should be unloaded when the link components are removed. This will make the register/unregister component methods balanced. continue;
snd_soc_tplg_component_remove(component,
snd_soc_component_del_unlocked(component); found = 1;SND_SOC_TPLG_INDEX_ALL);
Isn't this a robustness fix? It's just freeing anything that's left over, it doesn't free specific stuff and shouldn't stop anything else freeing that before so if we made a mistake earlier on it'll clean up after you.
Hi Mark,
Agree that this might make the clean up robust. But today we call this only when the component is unregistered and that's causing a null pointer dereference. So what we really need to do is to remove the topology in remove() first.
Thanks, Ranjani
Alsa-devel mailing list Alsa-devel@alsa-project.org https://mailman.alsa-project.org/mailman/listinfo/alsa-devel