Download raw body.
sys/qcgpio: fix GPIO wakeup masking during suspend
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?
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