aboutsummaryrefslogtreecommitdiffstats
path: root/sound/pci/emu10k1
diff options
context:
space:
mode:
authorClemens Ladisch <clemens@ladisch.de>2007-07-30 02:14:31 -0400
committerJaroslav Kysela <perex@perex.cz>2007-10-16 09:58:13 -0400
commit29998d24ab5ec488cd127488246cc749b0ac52d6 (patch)
treebef33b79ed8c45f88c73871694418f563deaa10b /sound/pci/emu10k1
parent82467611ffc41fba534c95f8b4ae3887a90f5a66 (diff)
[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')
-rw-r--r--sound/pci/emu10k1/p16v.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/sound/pci/emu10k1/p16v.c b/sound/pci/emu10k1/p16v.c
index 7ee19c63c2c8..6ace1076c19b 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,
448 break; 448 break;
449 } 449 }
450 snd_pcm_group_for_each_entry(s, substream) { 450 snd_pcm_group_for_each_entry(s, substream) {
451 if (snd_pcm_substream_chip(s) != emu ||
452 s->stream != SNDRV_PCM_STREAM_PLAYBACK)
453 continue;
451 runtime = s->runtime; 454 runtime = s->runtime;
452 epcm = runtime->private_data; 455 epcm = runtime->private_data;
453 channel = substream->pcm->device-emu->p16v_device_offset; 456 channel = substream->pcm->device-emu->p16v_device_offset;