Framework Laptop 12, FreeBSD main, hw.acpi.power_button_state=fw_suspend.
Before: enter S3 with the power button, then wake with the power button; the machine resumes and ~0.2 s later suspends itself again, looping indefinitely until broken with an s2idle (S2) cycle.
After: the same sequence resumes and stays up. Each resume logs, e.g.:
acpi0: ignoring power button press 162 ms after resume (firmware replayed the wake event)
A deliberate power-button press well after resume still suspends normally. Behavior is unchanged on spec-compliant firmware that reports the wake as Notify 0x02 (handled on a different path that never reaches this check).