diff options
author | green <green@FreeBSD.org> | 2003-02-23 20:49:45 +0000 |
---|---|---|
committer | green <green@FreeBSD.org> | 2003-02-23 20:49:45 +0000 |
commit | 339a4ba4db5f924375d3e3cf55122ce5ab144a75 (patch) | |
tree | 1ebdc932a8e7f692bce8444099b720f0a06094a3 /sys/dev/sound/pcm/feeder_rate.c | |
parent | d0bb7e7afbce5e386b13a63719dfab9f5aaa39a1 (diff) | |
download | FreeBSD-src-339a4ba4db5f924375d3e3cf55122ce5ab144a75.zip FreeBSD-src-339a4ba4db5f924375d3e3cf55122ce5ab144a75.tar.gz |
It seems that sound(4)'s feeder routines don't need to allocate memory
without waiting, since they are called from a system-call context only.
This appears to fix all sorts of problems with open("/dev/dsp", O_WRONLY)
randomly returning ENXIO.
Found by: cognet
Diffstat (limited to 'sys/dev/sound/pcm/feeder_rate.c')
-rw-r--r-- | sys/dev/sound/pcm/feeder_rate.c | 5 |
1 files changed, 1 insertions, 4 deletions
diff --git a/sys/dev/sound/pcm/feeder_rate.c b/sys/dev/sound/pcm/feeder_rate.c index 92454c9..4dfff2e 100644 --- a/sys/dev/sound/pcm/feeder_rate.c +++ b/sys/dev/sound/pcm/feeder_rate.c @@ -249,10 +249,7 @@ feed_rate_init(struct pcm_feeder *f) { struct feed_rate_info *info; - info = malloc(sizeof(*info), M_RATEFEEDER, M_NOWAIT | M_ZERO); - if (info == NULL) - return ENOMEM; - + info = malloc(sizeof(*info), M_RATEFEEDER, M_WAITOK | M_ZERO); info->src = DSP_DEFAULT_SPEED; info->dst = DSP_DEFAULT_SPEED; info->channels = 2; |