ACK: [SRU][R][PATCH 0/1] Audio shows Dummy Output on systems with Cirrus Logic cs42l43 codec
Tim Whisonant
tim.whisonant at canonical.com
Wed Jul 29 21:05:30 UTC 2026
On Wed, Jul 08, 2026 at 01:08:40PM +0800, AceLan Kao via kernel-team wrote:
> From: "Chia-Lin Kao (AceLan)" <acelan.kao at canonical.com>
>
> BugLink: https://bugs.launchpad.net/bugs/2156313
>
> [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.
>
> Chia-Lin Kao (AceLan) (1):
> ASoC: sdw_utils: fix missing component_name for cs42l43 part_id 0x2A3B
>
> sound/soc/sdw_utils/soc_sdw_utils.c | 1 +
> 1 file changed, 1 insertion(+)
>
> --
> 2.53.0
>
>
Acked-by: Tim Whisonant <tim.whisonant at canonical.com>
More information about the kernel-team
mailing list