]> err.no Git - linux-2.6/blobdiff - sound/core/pcm_native.c
[LLC]: Fix double receive of SKB.
[linux-2.6] / sound / core / pcm_native.c
index 964e4c47a7f1986a0cb031ab51375b5e0668fbf4..0860c5a84502f6f67451cdea60a566b639fdbf9b 100644 (file)
@@ -2007,14 +2007,16 @@ static void pcm_release_private(struct snd_pcm_substream *substream)
 void snd_pcm_release_substream(struct snd_pcm_substream *substream)
 {
        snd_pcm_drop(substream);
-       if (substream->pcm_release)
-               substream->pcm_release(substream);
        if (substream->hw_opened) {
                if (substream->ops->hw_free != NULL)
                        substream->ops->hw_free(substream);
                substream->ops->close(substream);
                substream->hw_opened = 0;
        }
+       if (substream->pcm_release) {
+               substream->pcm_release(substream);
+               substream->pcm_release = NULL;
+       }
        snd_pcm_detach_substream(substream);
 }