Re: [EXTERNAL] [PATCH v1 1/2] ALSA: hda/tas2781: fix speaker id retrieval for multiple probes

From: Xu, Baojun
Date: Mon Nov 17 2025 - 21:31:55 EST


>
> ________________________________________
> From: Antheas Kapenekakis <lkml@xxxxxxxxxxx>
> Sent: 27 October 2025 03:16
> To: Ding, Shenghao; Xu, Baojun
> Cc: Takashi Iwai; linux-sound@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; Antheas Kapenekakis; stable@xxxxxxxxxxxxxxx
> Subject: [EXTERNAL] [PATCH v1 1/2] ALSA: hda/tas2781: fix speaker id retrieval for multiple probes
>
> Currently, on ASUS projects, the TAS2781 codec attaches the speaker GPIO
> to the first tasdevice_priv instance using devm. This causes
> tas2781_read_acpi to fail on subsequent probes since the GPIO is already
> managed by the first device. This causes a failure on Xbox Ally X,
> because it has two amplifiers, and prevents us from quirking both the
> Xbox Ally and Xbox Ally X in the realtek codec driver.
>
> It is unnecessary to attach the GPIO to a device as it is static.
> Therefore, instead of attaching it and then reading it when loading the
> firmware, read its value directly in tas2781_read_acpi and store it in
> the private data structure. Then, make reading the value non-fatal so
> that ASUS projects that miss a speaker pin can still work, perhaps using
> fallback firmware.
>
> Fixes: 4e7035a75da9 ("ALSA: hda/tas2781: Add speaker id check for ASUS projects")
> Cc: stable@xxxxxxxxxxxxxxx # 6.17
> Signed-off-by: Antheas Kapenekakis <lkml@xxxxxxxxxxx>
> ---
> include/sound/tas2781.h | 2 +-
> .../hda/codecs/side-codecs/tas2781_hda_i2c.c | 44 +++++++++++--------
> 2 files changed, 26 insertions(+), 20 deletions(-)
>
Reviewed-by: Baojun Xu <baojun.xu@xxxxxx>

Best Regards
Jim