• Curtis Malainey's avatar
    ASoC: Intel: Fix RT5650 SSP lookup · 6f6a23d4
    Curtis Malainey authored
    Commit 8efcd486 ("ASoC: Intel: sof_rt5682: use common module for
    sof_card_private initialization") migrated the pin assignment in the
    context struct up to soc-acpi-intel-ssp-common.c. This uses a lookup
    table to see if a device has a amp/codec before assigning the pin. The
    issue here arises when combination parts that serve both (with 2 ports)
    are used.
    
    sysfs: cannot create duplicate filename '/devices/pci0000:00/0000:00:1f.3/adl_rt5682_def/SSP0-Codec'
    CPU: 1 PID: 2079 Comm: udevd Tainted: G     U             6.6.36-03391-g744739e00023 #1 3be1a2880a0970f65545a957db7d08ef4b3e2c0d
    Hardware name: Google Anraggar/Anraggar, BIOS Google_Anraggar.15217.552.0 05/07/2024
    Call Trace:
     <TASK>
     dump_stack_lvl+0x69/0xa0
     sysfs_warn_dup+0x5b/0x70
     sysfs_create_dir_ns+0xb0/0x100
     kobject_add_internal+0x133/0x3c0
     kobject_add+0x66/0xb0
     ? device_add+0x65/0x780
     device_add+0x164/0x780
     snd_soc_add_pcm_runtimes+0x2fa/0x800
     snd_soc_bind_card+0x35e/0xc20
     devm_snd_soc_register_card+0x48/0x90
     platform_probe+0x7b/0xb0
     really_probe+0xf7/0x2a0
     ...
    kobject: kobject_add_internal failed for SSP0-Codec with -EEXIST, don't try to register things with the same name in the same directory.
    
    The issue is that the ALC5650 was only defined in the codec table and
    not the amp table which left the pin unassigned but the dai link was
    still created by the machine driver.
    
    Also patch the suffix filename code for the topology to prevent double
    suffix names as a result of this change.
    
    Fixes: 8efcd486 ("ASoC: Intel: sof_rt5682: use common module for sof_card_private initialization")
    Reviewed-by: default avatarBard Liao <yung-chuan.liao@linux.intel.com>
    Signed-off-by: default avatarCurtis Malainey <cujomalainey@chromium.org>
    Signed-off-by: default avatarPierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
    Link: https://patch.msgid.link/20240716084012.299257-1-pierre-louis.bossart@linux.intel.comSigned-off-by: default avatarMark Brown <broonie@kernel.org>
    6f6a23d4
soc-acpi-intel-ssp-common.c 4.45 KB