summaryrefslogtreecommitdiffstats
path: root/sound/core/oss
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2006-08-02 21:12:09 +0200
committerJaroslav Kysela <perex@suse.cz>2006-08-03 15:21:31 +0200
commit6cb53e7ed77d429531afa8d822d59909f953a771 (patch)
treeb855184d9fe5eb9f640d7de06563b82cc9e23dd3 /sound/core/oss
parent264f9577a5a12de97aa85fa49dfd2788a4127e23 (diff)
downloadblackbird-op-linux-6cb53e7ed77d429531afa8d822d59909f953a771.tar.gz
blackbird-op-linux-6cb53e7ed77d429531afa8d822d59909f953a771.zip
[ALSA] Don't reject O_RDWR at opening PCM OSS with read/write-only device
Accept O_RDWR at opening a PCM OSS device that is read- or write-only, just for the compatibility with the behavior of older versions. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Diffstat (limited to 'sound/core/oss')
-rw-r--r--sound/core/oss/pcm_oss.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/sound/core/oss/pcm_oss.c b/sound/core/oss/pcm_oss.c
index f5ff4f4a16ee..472fce0ee0e8 100644
--- a/sound/core/oss/pcm_oss.c
+++ b/sound/core/oss/pcm_oss.c
@@ -2228,6 +2228,8 @@ static int snd_pcm_oss_open_file(struct file *file,
for (idx = 0; idx < 2; idx++) {
if (setup[idx].disable)
continue;
+ if (! pcm->streams[idx].substream_count)
+ continue; /* no matching substream */
if (idx == SNDRV_PCM_STREAM_PLAYBACK) {
if (! (f_mode & FMODE_WRITE))
continue;
OpenPOWER on IntegriCloud