ALSA: pcm: Don't leave PREPARED state after draining
[firefly-linux-kernel-4.4.55.git] / sound / core / pcm_native.c
index 175dca44c97e9eb72d552063adcc49bf6b1bcc14..707405cbc5c9043466547cce4364be3de84e5787 100644 (file)
@@ -1404,6 +1404,8 @@ static int snd_pcm_do_drain_init(struct snd_pcm_substream *substream, int state)
                        if (! snd_pcm_playback_empty(substream)) {
                                snd_pcm_do_start(substream, SNDRV_PCM_STATE_DRAINING);
                                snd_pcm_post_start(substream, SNDRV_PCM_STATE_DRAINING);
+                       } else {
+                               runtime->status->state = SNDRV_PCM_STATE_SETUP;
                        }
                        break;
                case SNDRV_PCM_STATE_RUNNING: