diff options
| author | Xu Rao <raoxu@uniontech.com> | 2026-06-25 21:29:03 +0800 |
|---|---|---|
| committer | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2026-06-25 15:39:58 +0200 |
| commit | 8522d806d84e2c3816c275ae6dd79e124c1b3dac (patch) | |
| tree | 36cd0b8e5260e7b61fe5443703d6d52e65c43015 | |
| parent | ad034486ada5860081565e2d7a2e41aa91c302c2 (diff) | |
| download | linux-2.6-8522d806d84e2c3816c275ae6dd79e124c1b3dac.tar.gz linux-2.6-8522d806d84e2c3816c275ae6dd79e124c1b3dac.zip | |
ACPI: TAD: Check AC wake capability before enabling wakeup
ACPI_TAD_AC_WAKE is a non-zero bit definition, so testing the macro
itself is always true. As a result, every TAD device is initialized as
a system wakeup device, including RTC-only devices and devices whose
wake capability bits were cleared because _PRW is absent.
Test the capability value returned by _GCP instead. This keeps
RTC-only TAD devices usable without advertising a wakeup capability
that the firmware does not provide.
Fixes: 6c711fde3a1c ("ACPI: TAD: Support RTC without wakeup")
Cc: All applicable <stable@vger.kernel.org>
Signed-off-by: Xu Rao <raoxu@uniontech.com>
Link: https://patch.msgid.link/961A84FF37B50665+20260625132903.2840457-1-raoxu@uniontech.com
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
| -rw-r--r-- | drivers/acpi/acpi_tad.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/acpi/acpi_tad.c b/drivers/acpi/acpi_tad.c index cac07e997028..1a60fba59fda 100644 --- a/drivers/acpi/acpi_tad.c +++ b/drivers/acpi/acpi_tad.c @@ -852,7 +852,7 @@ static int acpi_tad_probe(struct platform_device *pdev) * runtime suspend. Everything else should be taken care of by the ACPI * PM domain callbacks. */ - if (ACPI_TAD_AC_WAKE) { + if (caps & ACPI_TAD_AC_WAKE) { device_init_wakeup(dev, true); dev_pm_set_driver_flags(dev, DPM_FLAG_SMART_SUSPEND | DPM_FLAG_MAY_SKIP_RESUME); |
