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)
[ 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.
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.