Module Name:    src
Committed By:   hans
Date:           Sun Mar 23 12:23:49 UTC 2025

Modified Files:
        src/sys/dev/wscons: wsmux.c

Log Message:
wsmux(4): fix bogus DIAGNOSTIC checks

Similar to wsmouse(4) and wskbd(4), there are plenty of sanity checks
in this code that should always be done. The only thing DIAGNOSTIC
about them should be the printing of the message.


To generate a diff of this commit:
cvs rdiff -u -r1.66 -r1.67 src/sys/dev/wscons/wsmux.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/dev/wscons/wsmux.c
diff -u src/sys/dev/wscons/wsmux.c:1.66 src/sys/dev/wscons/wsmux.c:1.67
--- src/sys/dev/wscons/wsmux.c:1.66	Mon Mar 28 12:38:58 2022
+++ src/sys/dev/wscons/wsmux.c	Sun Mar 23 12:23:49 2025
@@ -1,4 +1,4 @@
-/*	$NetBSD: wsmux.c,v 1.66 2022/03/28 12:38:58 riastradh Exp $	*/
+/*	$NetBSD: wsmux.c,v 1.67 2025/03/23 12:23:49 hans Exp $	*/
 
 /*
  * Copyright (c) 1998, 2005 The NetBSD Foundation, Inc.
@@ -37,7 +37,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: wsmux.c,v 1.66 2022/03/28 12:38:58 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: wsmux.c,v 1.67 2025/03/23 12:23:49 hans Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_compat_netbsd.h"
@@ -241,16 +241,18 @@ wsmux_mux_open(struct wsevsrc *me, struc
 {
 	struct wsmux_softc *sc = (struct wsmux_softc *)me;
 
-#ifdef DIAGNOSTIC
 	if (sc->sc_base.me_evp != NULL) {
+#ifdef DIAGNOSTIC
 		printf("wsmux_mux_open: busy\n");
+#endif
 		return (EBUSY);
 	}
 	if (sc->sc_base.me_parent == NULL) {
+#ifdef DIAGNOSTIC
 		printf("wsmux_mux_open: no parent\n");
+#endif
 		return (EINVAL);
 	}
-#endif
 
 	wsmux_do_open(sc, evar);
 
@@ -270,21 +272,24 @@ wsmux_do_open(struct wsmux_softc *sc, st
 		DPRINTF(("wsmuxopen: %s: m=%p dev=%s\n",
 			 device_xname(sc->sc_base.me_dv), me,
 			 device_xname(me->me_dv)));
-#ifdef DIAGNOSTIC
 		if (me->me_evp != NULL) {
+#ifdef DIAGNOSTIC
 			printf("wsmuxopen: dev already in use\n");
+#endif
 			continue;
 		}
 		if (me->me_parent != sc) {
+#ifdef DIAGNOSTIC
 			printf("wsmux_do_open: bad child=%p\n", me);
+#endif
 			continue;
 		}
-		{
+#ifdef DIAGNOSTIC
 		int error = wsevsrc_open(me, evar);
+
 		if (error) {
 			DPRINTF(("wsmuxopen: open failed %d\n", error));
 		}
-		}
 #else
 		/* ignore errors, failing children will not be marked open */
 		(void)wsevsrc_open(me, evar);
@@ -341,12 +346,12 @@ wsmux_do_close(struct wsmux_softc *sc)
 		DPRINTF(("wsmuxclose %s: m=%p dev=%s\n",
 			 device_xname(sc->sc_base.me_dv), me,
 			 device_xname(me->me_dv)));
-#ifdef DIAGNOSTIC
 		if (me->me_parent != sc) {
+#ifdef DIAGNOSTIC
 			printf("wsmuxclose: bad child=%p\n", me);
+#endif
 			continue;
 		}
-#endif
 		(void)wsevsrc_close(me);
 		me->me_evp = NULL;
 	}
@@ -545,13 +550,13 @@ wsmux_do_ioctl(device_t dv, u_long cmd, 
 	error = 0;
 	ok = 0;
 	TAILQ_FOREACH(me, &sc->sc_cld, me_next) {
-#ifdef DIAGNOSTIC
 		/* XXX check evp? */
 		if (me->me_parent != sc) {
+#ifdef DIAGNOSTIC
 			printf("wsmux_do_ioctl: bad child %p\n", me);
+#endif
 			continue;
 		}
-#endif
 		error = wsevsrc_ioctl(me, cmd, data, flag, lwp);
 		DPRINTF(("wsmux_do_ioctl: %s: me=%p dev=%s ==> %d\n",
 			 device_xname(sc->sc_base.me_dv), me,
@@ -679,12 +684,12 @@ wsmux_attach_sc(struct wsmux_softc *sc, 
 	DPRINTF(("wsmux_attach_sc: %s(%p): type=%d\n",
 		 device_xname(sc->sc_base.me_dv), sc, me->me_ops->type));
 
-#ifdef DIAGNOSTIC
 	if (me->me_parent != NULL) {
+#ifdef DIAGNOSTIC
 		printf("wsmux_attach_sc: busy\n");
+#endif
 		return (EBUSY);
 	}
-#endif
 	me->me_parent = sc;
 	TAILQ_INSERT_TAIL(&sc->sc_cld, me, me_next);
 
@@ -746,13 +751,13 @@ wsmux_detach_sc(struct wsevsrc *me)
 	DPRINTF(("wsmux_detach_sc: %s(%p) parent=%p\n",
 		 device_xname(me->me_dv), me, sc));
 
-#ifdef DIAGNOSTIC
 	if (sc == NULL) {
+#ifdef DIAGNOSTIC
 		printf("wsmux_detach_sc: %s has no parent\n",
 		       device_xname(me->me_dv));
+#endif
 		return;
 	}
-#endif
 
 #if NWSDISPLAY > 0
 	if (sc->sc_base.me_dispdv != NULL) {
@@ -802,12 +807,12 @@ wsmux_do_displayioctl(device_t dv, u_lon
 	ok = 0;
 	TAILQ_FOREACH(me, &sc->sc_cld, me_next) {
 		DPRINTF(("wsmux_displayioctl: me=%p\n", me));
-#ifdef DIAGNOSTIC
 		if (me->me_parent != sc) {
+#ifdef DIAGNOSTIC
 			printf("wsmux_displayioctl: bad child %p\n", me);
+#endif
 			continue;
 		}
-#endif
 		if (me->me_ops->ddispioctl != NULL) {
 			error = wsevsrc_display_ioctl(me, cmd, data, flag, l);
 			DPRINTF(("wsmux_displayioctl: me=%p dev=%s ==> %d\n",
@@ -864,12 +869,12 @@ wsmux_set_display(struct wsmux_softc *sc
 	ok = 0;
 	error = 0;
 	TAILQ_FOREACH(me, &sc->sc_cld,me_next) {
-#ifdef DIAGNOSTIC
 		if (me->me_parent != sc) {
+#ifdef DIAGNOSTIC
 			printf("wsmux_set_display: bad child parent %p\n", me);
+#endif
 			continue;
 		}
-#endif
 		if (me->me_ops->dsetdisplay != NULL) {
 			error = wsevsrc_set_display(me, &nsc->sc_base);
 			DPRINTF(("wsmux_set_display: m=%p dev=%s error=%d\n",

Reply via email to