Re: [PATCH] ACPI: TAD: Check AC wake capability before enabling wakeup

From: Rafael J. Wysocki

Date: Thu Jun 25 2026 - 09:44:37 EST


On Thu, Jun 25, 2026 at 3:29 PM raoxu <raoxu@xxxxxxxxxxxxx> wrote:
>
> From: Xu Rao <raoxu@xxxxxxxxxxxxx>
>
> 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: stable@xxxxxxxxxxxxxxx
> Signed-off-by: Xu Rao <raoxu@xxxxxxxxxxxxx>
> ---
> drivers/acpi/acpi_tad.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/acpi/acpi_tad.c b/drivers/acpi/acpi_tad.c
> index 386fc1abcbdc..fc43df083738 100644
> --- a/drivers/acpi/acpi_tad.c
> +++ b/drivers/acpi/acpi_tad.c
> @@ -856,7 +856,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);
> --

Applied as 7.2-rc material, thanks!