Comment 3 for bug 2006458

Revision history for this message
Mario Limonciello (superm1) wrote :

> Anyway, I still don't get why upgrading the wifi-cards firmware to a
> more recent version fixes the problem.
> Would you mind to elaborate on this a bit more?

When the system is in the hardware sleep state it can be woken up from either a GPIO or a GPE. Any of those ACPI events I mentioned will make the EC trigger such a wakeup. When the kernel wakes up it will process the ACPI events and then confirm whether there are any remaining interrupts active.

* If no interrupts are active, the system will enter back into hardware sleep state.
* If any interrupts are still active then the kernel treats it as a genuine wakeup source that should exit the s2idle loop.

What happens with this bug is that the WLAN controller is connected to a design specific GPIO, and when the system leaves hardware sleep state that GPIO is also triggered.

This means that two interrupts are active: 1 for that GPIO and 1 for the EC SCI. The firmware update for the WLAN controller fixes it so that the GPIO is not active during resume.