We shouldn't return directly here because we're still holding the &soundcard_mutex.
This bug goes all the way back to the start of git. It's strange that no one has complained about it as a runtime bug.
CC: stable@kernel.org Signed-off-by: Dan Carpenter error27@gmail.com
diff --git a/sound/oss/soundcard.c b/sound/oss/soundcard.c index 938ed94..a5ab61e 100644 --- a/sound/oss/soundcard.c +++ b/sound/oss/soundcard.c @@ -392,11 +392,11 @@ static long sound_ioctl(struct file *file, unsigned int cmd, unsigned long arg) case SND_DEV_DSP: case SND_DEV_DSP16: case SND_DEV_AUDIO: - return audio_ioctl(dev, file, cmd, p); + ret = audio_ioctl(dev, file, cmd, p); break;
case SND_DEV_MIDIN: - return MIDIbuf_ioctl(dev, file, cmd, p); + ret = MIDIbuf_ioctl(dev, file, cmd, p); break;
}