diff options
Diffstat (limited to 'sys/dev/sound')
| -rw-r--r-- | sys/dev/sound/dummy.c | 11 | ||||
| -rw-r--r-- | sys/dev/sound/pcm/dsp.c | 18 | 
2 files changed, 18 insertions, 11 deletions
| diff --git a/sys/dev/sound/dummy.c b/sys/dev/sound/dummy.c index 4df5b112d3f4..39214a141bf9 100644 --- a/sys/dev/sound/dummy.c +++ b/sys/dev/sound/dummy.c @@ -104,9 +104,10 @@ dummy_chan_io(void *arg)  		ch = &sc->chans[i];  		if (!ch->run)  			continue; -		if (ch->dir == PCMDIR_PLAY) +		if (ch->dir == PCMDIR_PLAY) {  			ch->ptr += sndbuf_getblksz(ch->buf); -		else +			ch->ptr %= sndbuf_getsize(ch->buf); +		} else  			sndbuf_fillsilence(ch->buf);  		snd_mtxunlock(sc->lock);  		chn_intr(ch->chan); @@ -346,6 +347,12 @@ dummy_attach(device_t dev)  		return (ENXIO);  	mixer_init(dev, &dummy_mixer_class, sc); +	/* +	 * Create an alias so that tests do not need to guess which one is the +	 * dummy device if there are more devices present in the system. +	 */ +	make_dev_alias(sc->info.dsp_dev, "dsp.dummy"); +  	return (0);  } diff --git a/sys/dev/sound/pcm/dsp.c b/sys/dev/sound/pcm/dsp.c index fe5576baf017..27d5b740b90b 100644 --- a/sys/dev/sound/pcm/dsp.c +++ b/sys/dev/sound/pcm/dsp.c @@ -83,15 +83,15 @@ static d_mmap_t dsp_mmap;  static d_mmap_single_t dsp_mmap_single;  struct cdevsw dsp_cdevsw = { -	.d_version =	D_VERSION, -	.d_open =	dsp_open, -	.d_read =	dsp_read, -	.d_write =	dsp_write, -	.d_ioctl =	dsp_ioctl, -	.d_poll =	dsp_poll, -	.d_mmap =	dsp_mmap, -	.d_mmap_single = dsp_mmap_single, -	.d_name =	"dsp", +	.d_version	= D_VERSION, +	.d_open		= dsp_open, +	.d_read		= dsp_read, +	.d_write	= dsp_write, +	.d_ioctl	= dsp_ioctl, +	.d_poll		= dsp_poll, +	.d_mmap		= dsp_mmap, +	.d_mmap_single	= dsp_mmap_single, +	.d_name		= "dsp",  };  static eventhandler_tag dsp_ehtag = NULL; | 
