Re: Linux v2.6.18-rc3

From: Takashi Iwai
Date: Wed Aug 02 2006 - 06:39:31 EST


At Sun, 30 Jul 2006 17:42:32 GMT,
Hubert Tonneau wrote:
>
> I've tracked down the USB audio cards not working anymore with 2.6.17 as opposed
> to 2.6.16 to the fact that opening /dev/dsp with O_RDWR works with any USB
> audio card under 2.6.16 whereas starting from 2.6.17 O_WRONLY is mandatory
> if the card has no mic or line in.

Do you really get Oops with 2.6.17-final, too?
AFAIK, there was a bug in the early 2.6.17-rc regarding OSS emulation,
but it got fixed in the later rc.

The behavior of invalid O_* flag seems incompatible with the older
version. Although I don't think it's totally wrong behavior, surely
better to keep the compatibility. The patch below should fix it.


Thanks,

Takashi

--- linux-2.6.17.4/sound/core/oss/pcm_oss.c 2006-08-02 12:35:10.000000000 +0200
+++ linux-2.6.17.4/sound/core/oss/pcm_oss.c 2006-08-02 12:36:28.000000000 +0200
@@ -1745,6 +1745,8 @@ static int snd_pcm_oss_open_file(struct
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;
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/