]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
ALSA: hda/tas2781: properly initialize speaker_id for TAS2563
authorAugust Wikerfors <git@augustwikerfors.se>
Mon, 22 Dec 2025 19:47:04 +0000 (20:47 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 17 Jan 2026 15:35:13 +0000 (16:35 +0100)
commit00d880c469b75ab4ad9e436e8079229e1e7ae4e4
treefc50b068b0987e870bdc4c92926caa83833171ef
parentcb73d37ac18bc1716690ff5255a0ef1952827e9e
ALSA: hda/tas2781: properly initialize speaker_id for TAS2563

commit e340663bbf2a75dae5d4fddf90b49281f5c9df3f upstream.

After speaker id retrieval was refactored to happen in tas2781_read_acpi,
devices that do not use a speaker id need a negative speaker_id value
instead of NULL, but no initialization was added to the TAS2563 code path.
This causes the driver to attempt to load a non-existent firmware file name
with a speaker id of 0 ("TAS2XXX38700.bin") instead of the correct file
name without a speaker id ("TAS2XXX3870.bin"), resulting in low volume and
these dmesg errors:

    tas2781-hda i2c-INT8866:00: Direct firmware load for TAS2XXX38700.bin failed with error -2
    tas2781-hda i2c-INT8866:00: tasdevice_dsp_parser: load TAS2XXX38700.bin error
    tas2781-hda i2c-INT8866:00: dspfw load TAS2XXX38700.bin error
    [...]
    tas2781-hda i2c-INT8866:00: tasdevice_prmg_load: Firmware is NULL

Fix this by setting speaker_id to -1 as is done for other models.

Fixes: 945865a0ddf3 ("ALSA: hda/tas2781: fix speaker id retrieval for multiple probes")
Cc: stable@vger.kernel.org
Signed-off-by: August Wikerfors <git@augustwikerfors.se>
Link: https://patch.msgid.link/20251222194704.87232-1-git@augustwikerfors.se
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
sound/hda/codecs/side-codecs/tas2781_hda_i2c.c