Move source tree closer to the 2.6.32.17 mainline
/sound/pci/echoaudio/echoaudio.c
blob:1305f7ca02c3c2726049dc448dec6b7fa36a63cd -> blob:641d7f07392c63edea8bcf8a9bc71957914239cd
--- sound/pci/echoaudio/echoaudio.c
+++ sound/pci/echoaudio/echoaudio.c
@@ -1821,7 +1821,9 @@ static irqreturn_t snd_echo_interrupt(in
/* 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]) {