Index | Thread | Search

From:
Jonathan Gray <jsg@jsg.id.au>
Subject:
Re: wskbd(4): mp-safe filterops
To:
Alexander Bluhm <bluhm@openbsd.org>
Cc:
Vitaliy Makkoveev <mvs@openbsd.org>, tech@openbsd.org
Date:
Sat, 25 Jan 2025 22:42:41 +1100

Download raw body.

Thread
On Tue, Jan 21, 2025 at 05:01:14PM +0100, Alexander Bluhm wrote:
> On Mon, Jan 20, 2025 at 10:21:05PM +0300, Vitaliy Makkoveev wrote:
> > Updated diff. It also has fixed white spaces pointed by kirill@
> 
> OK bluhm@

missed a path

Index: sys/dev/wscons/wskbd.c
===================================================================
RCS file: /cvs/src/sys/dev/wscons/wskbd.c,v
diff -u -p -U9 -r1.121 wskbd.c
--- sys/dev/wscons/wskbd.c	21 Jan 2025 20:13:19 -0000	1.121
+++ sys/dev/wscons/wskbd.c	25 Jan 2025 11:37:25 -0000
@@ -762,18 +762,19 @@ wskbd_deliver_event(struct wskbd_softc *
 		return;
 	}
 #endif
 
 	mtx_enter(&evar->ws_mtx);
 	put = evar->ws_put;
 	ev = &evar->ws_q[put];
 	put = (put + 1) % WSEVENT_QSIZE;
 	if (put == evar->ws_get) {
+		mtx_leave(&evar->ws_mtx);
 		log(LOG_WARNING, "%s: event queue overflow\n",
 		    sc->sc_base.me_dv.dv_xname);
 		return;
 	}
 	ev->type = type;
 	ev->value = value;
 	nanotime(&ev->time);
 	evar->ws_put = put;
 	mtx_leave(&evar->ws_mtx);