[PATCH AUTOSEL 6.19-5.10] ACPI: OSI: Add DMI quirk for Acer Aspire One D255

Sasha Levin
2026-03-05T15:37:23Z

From: Sofia Schneider <sofia@schn.dev>

[ Upstream commit 5ede90206273ff156a778254f0f972a55e973c89 ]

The screen backlight turns off during boot (specifically during udev device
initialization) when returning true for _OSI("Windows 2009").

Analyzing the device's DSDT reveals that the firmware takes a different
code path when Windows 7 is reported, which leads to the backlight shutoff.
Add a DMI quirk to invoke dmi_disable_osi_win7 for this model.

Signed-off-by: Sofia Schneider <sofia@schn.dev>
Link: https://patch.msgid.link/20260223025240.518509-1-sofia@schn.dev
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---

LLM Generated explanations, may be completely bogus:

The `dmi_disable_osi_win7` callback already exists and is used by other
quirks (ASUS K50IJ at line 368). This commit simply adds another entry
to the same table using the same callback.

### Stable Kernel Criteria Assessment

1. **Obviously correct and tested**: Yes. It's a straightforward DMI
table entry addition following the exact same pattern as dozens of
existing entries in the same table. The author analyzed the DSDT to
confirm the firmware behavior. The ACPI maintainer (Rafael Wysocki)
accepted and signed off.

2. **Fixes a real bug**: Yes. The screen backlight turns off during boot
on this specific laptop model — a clear user-visible
regression/hardware issue. Users cannot see their screen.

3. **Important issue**: Yes. A blank screen during boot is a significant
usability problem — the laptop is effectively unusable without a
workaround.

4. **Small and contained**: Yes. The change adds exactly 13 lines (a
comment and a DMI table entry) to a single file. Zero logic changes.
Zero risk to other hardware.

5. **No new features**: Correct. This uses the existing
`dmi_disable_osi_win7` mechanism. No new APIs, no new code paths.

6. **Applies cleanly**: The change is a simple table entry insertion.
Even if surrounding entries differ slightly between stable versions,
this can be trivially applied at any point in the table.

### Risk Assessment

- **Risk**: Essentially zero. The DMI match is specific to vendor "Acer"
+ product "AOD255". It cannot affect any other hardware.
- **Benefit**: Screen backlight works correctly on Acer Aspire One D255
during boot.
- **Blast radius**: One specific laptop model only.

### Verification

- Verified `dmi_disable_osi_win7` callback exists at line 279 of
`drivers/acpi/osi.c` and is already used by another quirk entry (ASUS
K50IJ at line 368).
- Verified the diff adds only a DMI table entry following the identical
pattern of existing entries in the same `acpi_osi_dmi_table[]` array.
- Verified the commit was accepted by Rafael Wysocki, the ACPI subsystem
maintainer.
- The change touches exactly one file (`drivers/acpi/osi.c`) with a
trivial table addition.
- The `acpi_osi_dmi_table` and `dmi_disable_osi_win7` have existed in
the kernel for many years, so this applies to all active stable trees.

### Conclusion

This is a textbook hardware quirk addition — the exact type of commit
that stable trees exist to carry. It fixes a real, user-visible bug
(blank screen) on specific hardware, uses existing infrastructure, has
zero risk to other systems, and is trivially small.

**YES**

drivers/acpi/osi.c | 13 +++++++++++++
1 file changed, 13 insertions(+)

diff --git a/drivers/acpi/osi.c b/drivers/acpi/osi.c
index f2c943b934be0..9470f1830ff50 100644
--- a/drivers/acpi/osi.c
+++ b/drivers/acpi/osi.c
@@ -389,6 +389,19 @@ static const struct dmi_system_id acpi_osi_dmi_table[] __initconst = {
},
},

+ /*
+ * The screen backlight turns off during udev device creation
+ * when returning true for _OSI("Windows 2009")
+ */
+ {
+ .callback = dmi_disable_osi_win7,
+ .ident = "Acer Aspire One D255",
+ .matches = {
+ DMI_MATCH(DMI_SYS_VENDOR, "Acer"),
+ DMI_MATCH(DMI_PRODUCT_NAME, "AOD255"),
+ },
+ },
+
/*
* The wireless hotkey does not work on those machines when
* returning true for _OSI("Windows 2012")
--
2.51.0