summaryrefslogtreecommitdiffstats
path: root/sound/pci/pcxhr
diff options
context:
space:
mode:
authorClemens Ladisch <clemens@ladisch.de>2007-07-30 08:14:31 +0200
committerJaroslav Kysela <perex@perex.cz>2007-10-16 15:58:13 +0200
commit29998d24ab5ec488cd127488246cc749b0ac52d6 (patch)
treebef33b79ed8c45f88c73871694418f563deaa10b /sound/pci/pcxhr
parent82467611ffc41fba534c95f8b4ae3887a90f5a66 (diff)
downloadlinux-29998d24ab5ec488cd127488246cc749b0ac52d6.tar.bz2
[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/pcxhr')
-rw-r--r--sound/pci/pcxhr/pcxhr.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/sound/pci/pcxhr/pcxhr.c b/sound/pci/pcxhr/pcxhr.c
index f7f6a687f033..1b787f455576 100644
--- a/sound/pci/pcxhr/pcxhr.c
+++ b/sound/pci/pcxhr/pcxhr.c
@@ -646,6 +646,8 @@ static int pcxhr_trigger(struct snd_pcm_substream *subs, int cmd)
if (snd_pcm_stream_linked(subs)) {
struct snd_pcxhr *chip = snd_pcm_substream_chip(subs);
snd_pcm_group_for_each_entry(s, subs) {
+ if (snd_pcm_substream_chip(s) != chip)
+ continue;
stream = s->runtime->private_data;
stream->status =
PCXHR_STREAM_STATUS_SCHEDULE_RUN;