Bug 212643

Summary: DSDT table not overridden by custom table in initrd
Product: ACPI Reporter: wave (zanto98)
Component: Config-TablesAssignee: acpi_config-tables
Status: RESOLVED PATCH_ALREADY_AVAILABLE    
Severity: normal CC: andreas, linux
Priority: P1    
Hardware: All   
OS: Linux   
Kernel Version: 5.12-rc6 Subsystem:
Regression: Yes Bisected commit-id:

Description wave 2021-04-11 16:24:30 UTC
I am using a modified DSDT table via initrd as described in https://www.kernel.org/doc/Documentation/acpi/initrd_table_override.txt for a Lenovo Yoga 7i. It worked fine with the stable 5.11.11 kernel, but updating to 5.11.12 broke it and the problem persists in mainline 5.12-rc6. Through bisection I found that commit 1a1c130ab7575498eed5bcf7220037ae09cd1f8a (ACPI: tables: x86: Reserve memory occupied by ACPI tables) is responsible for this.

Before this commit, dmesg | grep DSDT:
[    0.007383] ACPI: DSDT ACPI table found in initrd [kernel/firmware/acpi/dsdt.aml][0x3ec82]
[    0.007449] ACPI: Table Upgrade: override [DSDT-LENOVO-CB-01   ]
[    0.007450] ACPI: DSDT 0x0000000045B94000 Physical table override, new table: 0x000000004259F000
[    0.007452] ACPI: DSDT 0x000000004259F000 03EC82 (v02 LENOVO CB-01    00000003 INTL 20210105)
Since then:
[    0.007162] ACPI: DSDT 0x0000000045B94000 03ED79 (v02 LENOVO CB-01    00000002 ACPI 00040000)
[    0.007223] ACPI: Reserving DSDT table memory at [mem 0x45b94000-0x45bd2d78]
[    0.007492] ACPI: DSDT ACPI table found in initrd [kernel/firmware/acpi/dsdt.aml][0x3ec82]
[    0.007545] ACPI: Table Upgrade: install [DSDT-LENOVO-CB-01   ]
[    0.007547] ACPI: DSDT 0x000000004259F000 03EC82 (v02 LENOVO CB-01    00000003 INTL 20210105)
The DSDT table is installed but it does not override the original one. In /sys/firmware/acpi/tables, I now have files DSDT1 and DSDT2 (one being the original and the other one the override), where it used to be only one file, DSDT.
Comment 1 woody64 2021-06-21 06:44:11 UTC
Confirmed for my Lenovo Yoga using Ubuntu 20.04.1. 
That happens after switching from 
5.8.0-53-generic #60 to 5.8.0-55. As described above you see now 2 DSDT files with old and new values.