4 Jun
2019
4 Jun
'19
5:37 a.m.
On Tue, Jun 4, 2019 at 1:10 AM Curtis Malainey cujomalainey@google.com wrote:
probe_end:
if (ret < 0)
if (ret < 0 && ret != -EPROBE_DEFER) soc_cleanup_card_resources(card);
Should not call soc_cleanup_card_resources() if soc_init_dai_link() returns fail. Some context has not initialized yet in the case.
Why not? You need to clean up the platform naming if links fails which will causes a use-after-free bug if you don't clean it up.
Some context may have not initialized if soc_init_dai_link() returns fail. See v2 https://patchwork.kernel.org/patch/10974149/ if it would help.