diff options
author | Takashi Iwai <tiwai@suse.de> | 2010-03-01 12:38:39 +0100 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2010-03-01 12:38:39 +0100 |
commit | a86ba28583987b85845ed61be5f12aafb5fc4971 (patch) | |
tree | de3fd39d3921ade6fd1a42508841483f1f25c82d /sound/pci/echoaudio/echoaudio.c | |
parent | 60b341b778cc2929df16c0a504c91621b3c6a4ad (diff) | |
parent | ad6cfc2ac71180171e090e69ae8762ac511884b1 (diff) |
Merge branch 'fix/misc' into for-linus
Diffstat (limited to 'sound/pci/echoaudio/echoaudio.c')
-rw-r--r-- | sound/pci/echoaudio/echoaudio.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/sound/pci/echoaudio/echoaudio.c b/sound/pci/echoaudio/echoaudio.c index 1305f7ca02c..641d7f07392 100644 --- a/sound/pci/echoaudio/echoaudio.c +++ b/sound/pci/echoaudio/echoaudio.c @@ -1821,7 +1821,9 @@ static irqreturn_t snd_echo_interrupt(int irq, void *dev_id) /* The hardware doesn't tell us which substream caused the irq, thus we have to check all running substreams. */ for (ss = 0; ss < DSP_MAXPIPES; ss++) { - if ((substream = chip->substream[ss])) { + substream = chip->substream[ss]; + if (substream && ((struct audiopipe *)substream->runtime-> + private_data)->state == PIPE_STATE_STARTED) { period = pcm_pointer(substream) / substream->runtime->period_size; if (period != chip->last_period[ss]) { |