]> git.proxmox.com Git - mirror_ubuntu-hirsute-kernel.git/blobdiff - sound/pci/echoaudio/echoaudio.c
Merge branch 'fix/misc' into topic/misc
[mirror_ubuntu-hirsute-kernel.git] / sound / pci / echoaudio / echoaudio.c
index 2783ce6c236e422d23d3b18fced58d67aede3c8e..8dab82d7d19d1368abdcb26dd25b7ae581a058b2 100644 (file)
@@ -1864,7 +1864,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]) {