Module Name:    src
Committed By:   isaki
Date:           Sat Feb 15 02:47:00 UTC 2020

Modified Files:
        src/sys/dev/audio: audio.c

Log Message:
Remove incorrect KASSERT(!mutex_owned()).
Pointed out by riastradh@.


To generate a diff of this commit:
cvs rdiff -u -r1.41 -r1.42 src/sys/dev/audio/audio.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/audio/audio.c
diff -u src/sys/dev/audio/audio.c:1.41 src/sys/dev/audio/audio.c:1.42
--- src/sys/dev/audio/audio.c:1.41	Sat Jan 11 04:53:10 2020
+++ src/sys/dev/audio/audio.c	Sat Feb 15 02:47:00 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: audio.c,v 1.41 2020/01/11 04:53:10 isaki Exp $	*/
+/*	$NetBSD: audio.c,v 1.42 2020/02/15 02:47:00 isaki Exp $	*/
 
 /*-
  * Copyright (c) 2008 The NetBSD Foundation, Inc.
@@ -142,7 +142,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: audio.c,v 1.41 2020/01/11 04:53:10 isaki Exp $");
+__KERNEL_RCSID(0, "$NetBSD: audio.c,v 1.42 2020/02/15 02:47:00 isaki Exp $");
 
 #ifdef _KERNEL_OPT
 #include "audio.h"
@@ -1363,14 +1363,13 @@ audio_attach_mi(const struct audio_hw_if
 /*
  * Acquire sc_lock and enter exlock critical section.
  * If successful, it returns 0.  Otherwise returns errno.
+ * Must be called without sc_lock held.
  */
 static int
 audio_enter_exclusive(struct audio_softc *sc)
 {
 	int error;
 
-	KASSERT(!mutex_owned(sc->sc_lock));
-
 	mutex_enter(sc->sc_lock);
 	if (sc->sc_dying) {
 		mutex_exit(sc->sc_lock);
@@ -2096,7 +2095,7 @@ bad1:
 }
 
 /*
- * Must NOT called with sc_lock nor sc_exlock held.
+ * Must be called without sc_lock nor sc_exlock held.
  */
 int
 audio_close(struct audio_softc *sc, audio_file_t *file)
@@ -2104,8 +2103,6 @@ audio_close(struct audio_softc *sc, audi
 	audio_track_t *oldtrack;
 	int error;
 
-	KASSERT(!mutex_owned(sc->sc_lock));
-
 	TRACEF(1, file, "%spid=%d.%d po=%d ro=%d",
 	    (audiodebug >= 3) ? "start " : "",
 	    (int)curproc->p_pid, (int)curlwp->l_lid,
@@ -2206,6 +2203,9 @@ audio_close(struct audio_softc *sc, audi
 	return 0;
 }
 
+/*
+ * Must be called without sc_lock nor sc_exlock held.
+ */
 int
 audio_read(struct audio_softc *sc, struct uio *uio, int ioflag,
 	audio_file_t *file)
@@ -2215,8 +2215,6 @@ audio_read(struct audio_softc *sc, struc
 	audio_ring_t *input;
 	int error;
 
-	KASSERT(!mutex_owned(sc->sc_lock));
-
 	/*
 	 * On half-duplex hardware, O_RDWR is treated as O_WRONLY.
 	 * However read() system call itself can be called because it's
@@ -2333,6 +2331,9 @@ audio_file_clear(struct audio_softc *sc,
 		audio_track_clear(sc, file->rtrack);
 }
 
+/*
+ * Must be called without sc_lock nor sc_exlock held.
+ */
 int
 audio_write(struct audio_softc *sc, struct uio *uio, int ioflag,
 	audio_file_t *file)
@@ -2342,8 +2343,6 @@ audio_write(struct audio_softc *sc, stru
 	audio_ring_t *outbuf;
 	int error;
 
-	KASSERT(!mutex_owned(sc->sc_lock));
-
 	track = file->ptrack;
 	KASSERT(track);
 
@@ -2455,6 +2454,9 @@ abort:
 	return error;
 }
 
+/*
+ * Must be called without sc_lock nor sc_exlock held.
+ */
 int
 audio_ioctl(dev_t dev, struct audio_softc *sc, u_long cmd, void *addr, int flag,
 	struct lwp *l, audio_file_t *file)
@@ -2470,8 +2472,6 @@ audio_ioctl(dev_t dev, struct audio_soft
 	int index;
 	int error;
 
-	KASSERT(!mutex_owned(sc->sc_lock));
-
 #if defined(AUDIO_DEBUG)
 	const char *ioctlnames[] = {
 		" AUDIO_GETINFO",	/* 21 */
@@ -2763,6 +2763,9 @@ audio_track_readablebytes(const audio_tr
 	return bytes;
 }
 
+/*
+ * Must be called without sc_lock nor sc_exlock held.
+ */
 int
 audio_poll(struct audio_softc *sc, int events, struct lwp *l,
 	audio_file_t *file)
@@ -2772,8 +2775,6 @@ audio_poll(struct audio_softc *sc, int e
 	bool in_is_valid;
 	bool out_is_valid;
 
-	KASSERT(!mutex_owned(sc->sc_lock));
-
 #if defined(AUDIO_DEBUG)
 #define POLLEV_BITMAP "\177\020" \
 	    "b\10WRBAND\0" \
@@ -2921,13 +2922,14 @@ filt_audiowrite_event(struct knote *kn, 
 	return (track->usrbuf.used < track->usrbuf_usedlow);
 }
 
+/*
+ * Must be called without sc_lock nor sc_exlock held.
+ */
 int
 audio_kqfilter(struct audio_softc *sc, audio_file_t *file, struct knote *kn)
 {
 	struct klist *klist;
 
-	KASSERT(!mutex_owned(sc->sc_lock));
-
 	TRACEF(3, file, "kn=%p kn_filter=%x", kn, (int)kn->kn_filter);
 
 	switch (kn->kn_filter) {
@@ -2954,6 +2956,9 @@ audio_kqfilter(struct audio_softc *sc, a
 	return 0;
 }
 
+/*
+ * Must be called without sc_lock nor sc_exlock held.
+ */
 int
 audio_mmap(struct audio_softc *sc, off_t *offp, size_t len, int prot,
 	int *flagsp, int *advicep, struct uvm_object **uobjp, int *maxprotp,
@@ -2963,8 +2968,6 @@ audio_mmap(struct audio_softc *sc, off_t
 	vsize_t vsize;
 	int error;
 
-	KASSERT(!mutex_owned(sc->sc_lock));
-
 	TRACEF(2, file, "off=%lld, prot=%d", (long long)(*offp), prot);
 
 	if (*offp < 0)
@@ -7709,6 +7712,9 @@ mixer_close(struct audio_softc *sc, audi
 	return 0;
 }
 
+/*
+ * Must be called without sc_lock nor sc_exlock held.
+ */
 int
 mixer_ioctl(struct audio_softc *sc, u_long cmd, void *addr, int flag,
 	struct lwp *l)
@@ -7717,8 +7723,6 @@ mixer_ioctl(struct audio_softc *sc, u_lo
 	mixer_ctrl_t *mc;
 	int error;
 
-	KASSERT(!mutex_owned(sc->sc_lock));
-
 	TRACE(2, "(%lu,'%c',%lu)",
 	    IOCPARM_LEN(cmd), (char)IOCGROUP(cmd), cmd & 0xff);
 	error = EINVAL;

Reply via email to