summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTheo de Raadt <deraadt@cvs.openbsd.org>2024-08-18 15:09:50 +0000
committerTheo de Raadt <deraadt@cvs.openbsd.org>2024-08-18 15:09:50 +0000
commitb87f03a8ae640b7111b6c58795b5703967b5b599 (patch)
tree06c503de82bfc050f50db8e6bb4c3d9ebe737a9a
parent06c8cef0ac3b599a3f7fd71280b6bf7c01f43eac (diff)
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...
-rw-r--r--sys/dev/pckbc/pms.c10
1 files 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