From: Mark Kettenis Subject: Re: sys/qcgpio: fix GPIO wakeup masking during suspend To: Kirill A. Korinsky Cc: tech@openbsd.org Date: Mon, 05 Oct 2026 21:26:11 +0200 > Date: Mon, 05 Oct 2026 02:55:26 +0200 > From: Kirill A. Korinsky > > 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 > >