From cf372def5ad1eaa4e1dc013c319a7d21b1e7925f Mon Sep 17 00:00:00 2001 From: deraadt Date: Sun, 18 Aug 2024 15:09:49 +0000 Subject: [PATCH] Driver was not calling the child activate functions in the correct way. There is a child -- wsmouse, which has an activate function, so this is another oversight... --- sys/dev/pckbc/pms.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/sys/dev/pckbc/pms.c b/sys/dev/pckbc/pms.c index 108d0f75dd9..7756c70e727 100644 --- a/sys/dev/pckbc/pms.c +++ b/sys/dev/pckbc/pms.c @@ -1,4 +1,4 @@ -/* $OpenBSD: pms.c,v 1.98 2023/08/16 20:53:47 bru Exp $ */ +/* $OpenBSD: pms.c,v 1.99 2024/08/18 15:09:49 deraadt Exp $ */ /* $NetBSD: psm.c,v 1.11 2000/06/05 22:20:57 sommerfeld Exp $ */ /*- @@ -778,9 +778,11 @@ int pmsactivate(struct device *self, int act) { struct pms_softc *sc = (struct pms_softc *)self; + int rv; switch (act) { case DVACT_SUSPEND: + rv = config_activate_children(self, act); if (sc->sc_state == PMS_STATE_ENABLED) pms_change_state(sc, PMS_STATE_SUSPENDED, PMS_DEV_IGNORE); @@ -789,9 +791,13 @@ pmsactivate(struct device *self, int act) if (sc->sc_state == PMS_STATE_SUSPENDED) pms_change_state(sc, PMS_STATE_ENABLED, PMS_DEV_IGNORE); + rv = config_activate_children(self, act); + break; + default: + rv = config_activate_children(self, act); break; } - return (0); + return (rv); } int -- 2.20.1