Index: pcm/mixer.c =================================================================== RCS file: /home/ncvs/src/sys/dev/sound/pcm/mixer.c,v retrieving revision 1.31 diff -u -u -1 -2 -r1.31 mixer.c --- pcm/mixer.c 3 Mar 2003 12:15:46 -0000 1.31 +++ pcm/mixer.c 8 Sep 2003 12:52:07 -0000 @@ -314,32 +314,33 @@ int mixer_hwvol_init(device_t dev) { struct snd_mixer *m; dev_t pdev; pdev = mixer_get_devt(dev); m = pdev->si_drv1; snd_mtxlock(m->lock); m->hwvol_mixer = SOUND_MIXER_VOLUME; m->hwvol_step = 5; + snd_mtxunlock(m->lock); #ifdef SND_DYNSYSCTL + /* XXX BROKEN: hwvol_step requires m->lock */ SYSCTL_ADD_INT(snd_sysctl_tree(dev), SYSCTL_CHILDREN(snd_sysctl_tree_top(dev)), OID_AUTO, "hwvol_step", CTLFLAG_RW, &m->hwvol_step, 0, ""); SYSCTL_ADD_PROC(snd_sysctl_tree(dev), SYSCTL_CHILDREN(snd_sysctl_tree_top(dev)), OID_AUTO, "hwvol_mixer", CTLTYPE_STRING | CTLFLAG_RW, m, 0, sysctl_hw_snd_hwvol_mixer, "A", ""); #endif - snd_mtxunlock(m->lock); return 0; } void mixer_hwvol_mute(device_t dev) { struct snd_mixer *m; dev_t pdev; pdev = mixer_get_devt(dev); m = pdev->si_drv1; snd_mtxlock(m->lock);