On Wed, Jan 22, 2020 at 01:28:57PM -0600, Pierre-Louis Bossart wrote:
On 1/22/20 1:07 PM, Jaroslav Kysela wrote:
The code which checks the return value for snd_soc_add_dai_link() call in soc_tplg_fe_link_create() moved the snd_soc_add_dai_link() call before link->dobj members initialization.
While it does not affect the latest kernels, the old soc-core.c code in the stable kernels is affected. The snd_soc_add_dai_link() function uses the link->dobj.type member to check, if the link structure is valid.
Reorder the link->dobj initialization to make things work again. It's harmless for the recent code (and the structure should be properly initialized before other calls anyway).
The problem is in stable linux-5.4.y since version 5.4.11 when the upstream commit 76d270364932 was applied.
I am not following. Is this a fix for linux-5.4-y only, or is it needed on Mark's tree? In the latter case, what is broken? We've been using Mark's tree without issues, wondering what we missed?
He's saying it's a fix for stable but it's just a cleanup and robustness improvement in current kernels - when the patch 76d270364932 (ASoC: topology: Check return value for snd_soc_add_dai_link()) was backported by the bot the bot missed some other context which triggered bugs.
Copying in Sasha and Greg for stable (not sure if the list works by itself).