On Thu, May 23, 2024 at 02:02:53PM +0200, Greg KH wrote:
On Tue, May 21, 2024 at 10:24:51AM +0300, Peter Ujfalusi wrote:
The only thing that the rt_xxx_rtd_init() functions do is to set card->components. And we can set card->components with name_prefix as rt712_sdca_dmic_rtd_init() does. And sof_sdw_rtd_init() will always select the first dai with the given dai->name from codec_info_list[]. Unfortunately, we have different codecs with the same dai name. For example, dai name of rt715 and rt715-sdca are both "rt715-aif2". Using a generic rtd_init allow sof_sdw_rtd_init() run the rtd_init() callback from a similar codec dai.
The fix for the issue somehow dodged the 6.9 cycle and only landed mainline for 6.10, before -rc1 tag.
FWIW it's quite buried in the changelog that this is a fix (I tend to just zone out the presence of a Fixes tag because people just put them in for no reason) - the subject line makes it look like a cleanup, and it's not clear from even the second paragraph that we're actually seeing issues in practice as opposed to this being a theoretical thing.