Module Name: src Committed By: isaki Date: Sat Feb 22 08:15:09 UTC 2020
Modified Files: src/sys/dev/audio: audio.c src/sys/dev/pad: pad.c Log Message: Make calling get_props() lockless. get_props() of all MD drivers now can be called without sc_lock. To generate a diff of this commit: cvs rdiff -u -r1.51 -r1.52 src/sys/dev/audio/audio.c cvs rdiff -u -r1.63 -r1.64 src/sys/dev/pad/pad.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.51 src/sys/dev/audio/audio.c:1.52 --- src/sys/dev/audio/audio.c:1.51 Sat Feb 22 08:03:19 2020 +++ src/sys/dev/audio/audio.c Sat Feb 22 08:15:09 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: audio.c,v 1.51 2020/02/22 08:03:19 isaki Exp $ */ +/* $NetBSD: audio.c,v 1.52 2020/02/22 08:15:09 isaki Exp $ */ /*- * Copyright (c) 2008 The NetBSD Foundation, Inc. @@ -121,7 +121,7 @@ * allocm - - + (*1) * freem - - + (*1) * round_buffersize - x - * get_props - x Called at attach time + * get_props - - Called at attach time * trigger_output x x + * trigger_input x x + * dev_ioctl - x @@ -142,7 +142,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: audio.c,v 1.51 2020/02/22 08:03:19 isaki Exp $"); +__KERNEL_RCSID(0, "$NetBSD: audio.c,v 1.52 2020/02/22 08:15:09 isaki Exp $"); #ifdef _KERNEL_OPT #include "audio.h" @@ -886,9 +886,7 @@ audioattach(device_t parent, device_t se sc->sc_am_used = 0; sc->sc_am = NULL; - mutex_enter(sc->sc_lock); sc->sc_props = hw_if->get_props(sc->hw_hdl); - mutex_exit(sc->sc_lock); /* MMAP is now supported by upper layer. */ sc->sc_props |= AUDIO_PROP_MMAP; Index: src/sys/dev/pad/pad.c diff -u src/sys/dev/pad/pad.c:1.63 src/sys/dev/pad/pad.c:1.64 --- src/sys/dev/pad/pad.c:1.63 Wed Jun 26 12:21:40 2019 +++ src/sys/dev/pad/pad.c Sat Feb 22 08:15:09 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: pad.c,v 1.63 2019/06/26 12:21:40 isaki Exp $ */ +/* $NetBSD: pad.c,v 1.64 2020/02/22 08:15:09 isaki Exp $ */ /*- * Copyright (c) 2007 Jared D. McNeill <jmcne...@invisible.ca> @@ -27,7 +27,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: pad.c,v 1.63 2019/06/26 12:21:40 isaki Exp $"); +__KERNEL_RCSID(0, "$NetBSD: pad.c,v 1.64 2020/02/22 08:15:09 isaki Exp $"); #include <sys/types.h> #include <sys/param.h> @@ -795,11 +795,6 @@ pad_query_devinfo(void *opaque, mixer_de static int pad_get_props(void *opaque) { - struct pad_softc *sc __diagused; - - sc = (struct pad_softc *)opaque; - - KASSERT(mutex_owned(&sc->sc_lock)); return AUDIO_PROP_PLAYBACK; }