ALSA: firewire-lib, firewire-speakers: handle packet queueing errors
[firefly-linux-kernel-4.4.55.git] / sound / firewire / speakers.c
index f6b095ef075a729ab5010d0020fa1827d02abaac..0fce9218abb1676bf8e259be50bfd6d5d65090d2 100644 (file)
@@ -283,6 +283,9 @@ static int fwspk_prepare(struct snd_pcm_substream *substream)
 
        mutex_lock(&fwspk->mutex);
 
+       if (amdtp_out_streaming_error(&fwspk->stream))
+               fwspk_stop_stream(fwspk);
+
        if (!fwspk->stream_running) {
                err = cmp_connection_establish(&fwspk->connection,
                        amdtp_out_stream_get_max_payload(&fwspk->stream));