** Description changed: [Impact] Audio shows "Dummy Output" in GNOME and no input devices are available on Dell systems with a Cirrus Logic cs42l43 codec (SoundWire part_id 0x2A3B). The regression was introduced by commit 87a3f5c8ac20 (merged in v7.1-rc1), which moved spk:cs42l43-spk string generation into the generic asoc_sdw_rtd_init() path. That commit added component_name to the 0x4243 cs42l43 entry but missed the 0x2A3B entry. Without component_name on the 0x2A3B dp6 DAI, asoc_sdw_rtd_init() never appends "spk:cs35l56-bridge" to card->components. The sof-soundwire UCM regex then fails to match a speaker codec, all HiFi profiles are marked available=no, and WirePlumber falls back to the Off profile with no nodes. Hits 100% on affected hardware. [Fix] Add the missing .component_name = "cs42l43-spk" field to the 0x2A3B cs42l43 entry's AMP DAI in codec_info_list. The existing SOC_SDW_SIDECAR_AMPS redirect in asoc_sdw_rtd_init() then correctly translates this to "cs35l56-bridge" in card->components, which matches the UCM regex and the existing cs35l56-bridge.conf UCM file. This is an original fix; the same bug exists in linux-next and will be submitted upstream. + https://lore.kernel.org/lkml/178127688584.48375.17454457885369484858.b4-ty@b4/ Fixes: 87a3f5c8ac20 ("ASoC: sdw_utils: cs42l43: allow spk component names to be combined") [Test Plan] Boot on affected Dell hardware with cs42l43 0x2A3B codec. Without patch: GNOME shows "Dummy Output", no microphone listed. With patch: 1. Check card->components includes spk: token: $ cat /sys/class/sound/card0/components | grep -o 'spk:[^ ]*' Expected: spk:cs35l56-bridge 2. Check WirePlumber selected HiFi profile: $ pw-cli enum-params <sof-soundwire-device-id> EnumProfile | grep -E 'index|available' Expected: active profile has available=yes 3. Test speaker output: $ speaker-test -c 2 -l 1 -t wav Expected: audio plays without error [Where problems could occur] Could affect snd-soc-sdw-utils and any machine using the cs42l43 0x2A3B codec with sidecar amps. If the sidecar redirect logic in asoc_sdw_rtd_init() misidentifies the component, the wrong spk: string could end up in card->components, causing UCM to select the wrong speaker init config. Speaker output would fail or use an incorrect routing.
-- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/2156313 Title: Audio shows Dummy Output on systems with Cirrus Logic cs42l43 codec To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/2156313/+subscriptions -- ubuntu-bugs mailing list [email protected] https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
