Download raw body.
sys/qcgpio: fix GPIO wakeup masking during suspend
> Date: Mon, 05 Oct 2026 02:55:26 +0200
> From: Kirill A. Korinsky <kirill@korins.ky>
>
> tech@,
>
> seems that the suspend path disables pins marked for wakeup while leaving
> other GPIO interrupts enabled. Here, I reverse the condition to preserve
> wakeup sources and mask ordinary interrupts; restore the saved configuration
> on resume.
>
> Thoughts?
Not sure how that went wrong...
With this fix my vivobook resumes when I open the lid. Without it
doesn't.
ok kettenis@
> Index: sys/dev/fdt/qcgpio_fdt.c
> ===================================================================
> RCS file: /home/cvs/src/sys/dev/fdt/qcgpio_fdt.c,v
> diff -u -p -r1.9 qcgpio_fdt.c
> --- sys/dev/fdt/qcgpio_fdt.c 4 Sep 2026 18:06:36 -0000 1.9
> +++ sys/dev/fdt/qcgpio_fdt.c 5 Oct 2026 00:50:24 -0000
> @@ -189,7 +189,7 @@ qcgpio_fdt_activate(struct device *self,
>
> sc->sc_pin_intr_cfg[pin] =
> HREAD4(sc, TLMM_GPIO_INTR_CFG(pin));
> - if (sc->sc_pin_ih[pin].ih_wakeup) {
> + if (!sc->sc_pin_ih[pin].ih_wakeup) {
> HCLR4(sc, TLMM_GPIO_INTR_CFG(pin),
> TLMM_GPIO_INTR_CFG_INTR_ENABLE);
> }
>
>
> --
> wbr, Kirill
>
>
sys/qcgpio: fix GPIO wakeup masking during suspend