drivers/soundwire/dmi-quirks.c | 7 +++++++ 1 file changed, 7 insertions(+)
The Asus Zenbook Duo also has a Realtek device in the ACPI that
doesn't exist in the physical hardware. This confuses the machine
driver into attempting to create DAI links for the device. Add a
quirk to remove this device.
Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
---
drivers/soundwire/dmi-quirks.c | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/drivers/soundwire/dmi-quirks.c b/drivers/soundwire/dmi-quirks.c
index 62cee6e2179da..f738e547a1f30 100644
--- a/drivers/soundwire/dmi-quirks.c
+++ b/drivers/soundwire/dmi-quirks.c
@@ -200,6 +200,13 @@ static const struct dmi_system_id adr_remap_quirk_table[] = {
},
.driver_data = (void *)ghost_realtek,
},
+ {
+ .matches = {
+ DMI_MATCH(DMI_SYS_VENDOR, "ASUS"),
+ DMI_MATCH(DMI_BOARD_NAME, "UX8407AA"),
+ },
+ .driver_data = (void *)ghost_realtek,
+ },
{
.matches = {
DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
--
2.47.3
On 7/20/26 11:57, Charles Keepax wrote:
> The Asus Zenbook Duo also has a Realtek device in the ACPI that
> doesn't exist in the physical hardware. This confuses the machine
> driver into attempting to create DAI links for the device. Add a
> quirk to remove this device.
>
> Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.dev>
This is likely to be a never-ending race... I wonder if the machine
description used to find the relevant machine driver could be used to
drop that ghost device, or if there would be any merit in having a quirk
file provided to distros and read via e.g. sysfs to have faster patching
done by userspace.
> ---
> drivers/soundwire/dmi-quirks.c | 7 +++++++
> 1 file changed, 7 insertions(+)
>
> diff --git a/drivers/soundwire/dmi-quirks.c b/drivers/soundwire/dmi-quirks.c
> index 62cee6e2179da..f738e547a1f30 100644
> --- a/drivers/soundwire/dmi-quirks.c
> +++ b/drivers/soundwire/dmi-quirks.c
> @@ -200,6 +200,13 @@ static const struct dmi_system_id adr_remap_quirk_table[] = {
> },
> .driver_data = (void *)ghost_realtek,
> },
> + {
> + .matches = {
> + DMI_MATCH(DMI_SYS_VENDOR, "ASUS"),
> + DMI_MATCH(DMI_BOARD_NAME, "UX8407AA"),
> + },
> + .driver_data = (void *)ghost_realtek,
> + },
> {
> .matches = {
> DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
© 2016 - 2026 Red Hat, Inc.