diff options
author | Clemens Ladisch <clemens@ladisch.de> | 2007-07-30 08:14:31 +0200 |
---|---|---|
committer | Jaroslav Kysela <perex@perex.cz> | 2007-10-16 15:58:13 +0200 |
commit | 29998d24ab5ec488cd127488246cc749b0ac52d6 (patch) | |
tree | bef33b79ed8c45f88c73871694418f563deaa10b /sound/pci/emu10k1/p16v.c | |
parent | 82467611ffc41fba534c95f8b4ae3887a90f5a66 (diff) | |
download | op-kernel-dev-29998d24ab5ec488cd127488246cc749b0ac52d6.zip op-kernel-dev-29998d24ab5ec488cd127488246cc749b0ac52d6.tar.gz |
[ALSA] check for linked substreams of different cards
It is possible to have linked substreams that belong to different cards
and/or different drivers. This patch changes some drivers to make sure
that they do not incorrectly try to handle substreams of a different
card.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Diffstat (limited to 'sound/pci/emu10k1/p16v.c')
-rw-r--r-- | sound/pci/emu10k1/p16v.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/sound/pci/emu10k1/p16v.c b/sound/pci/emu10k1/p16v.c index 7ee19c6..6ace107 100644 --- a/sound/pci/emu10k1/p16v.c +++ b/sound/pci/emu10k1/p16v.c @@ -448,6 +448,9 @@ static int snd_p16v_pcm_trigger_playback(struct snd_pcm_substream *substream, break; } snd_pcm_group_for_each_entry(s, substream) { + if (snd_pcm_substream_chip(s) != emu || + s->stream != SNDRV_PCM_STREAM_PLAYBACK) + continue; runtime = s->runtime; epcm = runtime->private_data; channel = substream->pcm->device-emu->p16v_device_offset; |