aboutsummaryrefslogtreecommitdiff
path: root/sys/i386
diff options
context:
space:
mode:
authorAmancio Hasty <ahasty@FreeBSD.org>1997-11-24 07:31:20 +0000
committerAmancio Hasty <ahasty@FreeBSD.org>1997-11-24 07:31:20 +0000
commitb237a8422d8ed4c2d14c464006cd5fa5e1b446fb (patch)
tree75f1afa8ef08e9b2e6b3272f0efa64fe400962c9 /sys/i386
parent7d70b772c10d2d0346134c40b27c3e05a160573a (diff)
downloadsrc-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.c6
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 */