diff options
author | Amancio Hasty <ahasty@FreeBSD.org> | 1997-11-24 07:31:20 +0000 |
---|---|---|
committer | Amancio Hasty <ahasty@FreeBSD.org> | 1997-11-24 07:31:20 +0000 |
commit | b237a8422d8ed4c2d14c464006cd5fa5e1b446fb (patch) | |
tree | 75f1afa8ef08e9b2e6b3272f0efa64fe400962c9 /sys/i386 | |
parent | 7d70b772c10d2d0346134c40b27c3e05a160573a (diff) | |
download | src-b237a8422d8ed4c2d14c464006cd5fa5e1b446fb.tar.gz src-b237a8422d8ed4c2d14c464006cd5fa5e1b446fb.zip |
Fixed poll related problem which was exhibited by running
amp (audio mpeg player) and with cards such as SB.
Notes
Notes:
svn path=/head/; revision=31384
Diffstat (limited to 'sys/i386')
-rw-r--r-- | sys/i386/isa/sound/audio.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/sys/i386/isa/sound/audio.c b/sys/i386/isa/sound/audio.c index a48524800d40..2c9cf0e88f22 100644 --- a/sys/i386/isa/sound/audio.c +++ b/sys/i386/isa/sound/audio.c @@ -188,7 +188,6 @@ audio_write(int dev, struct fileinfo * file, snd_rw_buf * buf, int count) p = 0; c = count; - if ((audio_mode[dev] & AM_READ) && !(audio_devs[dev]->flags & DMA_DUPLEX)) { /* Direction change */ wr_buff_no[dev] = -1; @@ -253,7 +252,6 @@ audio_write(int dev, struct fileinfo * file, snd_rw_buf * buf, int count) wr_buff_no[dev] = -1; } } - return count; } @@ -442,7 +440,7 @@ audio_poll(int dev, struct fileinfo * file, int events, select_table * wait) { dev = dev >> 4; - if (events & (POLLOUT | POLLWRNORM)) { + if (events & (POLLIN | POLLRDNORM)) { if ((audio_mode[dev] & AM_WRITE) && !(audio_devs[dev]->flags & DMA_DUPLEX)) return 0; /* Not recording */ @@ -451,7 +449,7 @@ audio_poll(int dev, struct fileinfo * file, int events, select_table * wait) return (DMAbuf_poll(dev, file, events, wait)); } - if (events & (POLLIN | POLLRDNORM)) { + if (events & (POLLOUT | POLLWRNORM)) { if ((audio_mode[dev] & AM_READ) && !(audio_devs[dev]->flags & DMA_DUPLEX)) return 0; /* Wrong direction */ |