Commit fc49769a authored by Takashi Sakamoto's avatar Takashi Sakamoto Committed by Takashi Iwai

ALSA: firewire-motu: code refactoring for condition to stop streaming

In snd_motu_stream_start_duplex() function, there're two points to stop
packet streaming, however they can be merged.  This commit merges them.
Signed-off-by: default avatarTakashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
parent 8350132e
...@@ -217,19 +217,11 @@ int snd_motu_stream_start_duplex(struct snd_motu *motu, unsigned int rate) ...@@ -217,19 +217,11 @@ int snd_motu_stream_start_duplex(struct snd_motu *motu, unsigned int rate)
if (motu->substreams_counter == 0) if (motu->substreams_counter == 0)
return 0; return 0;
/* Some packet queueing errors. */
if (amdtp_streaming_error(&motu->rx_stream) ||
amdtp_streaming_error(&motu->tx_stream)) {
amdtp_stream_stop(&motu->rx_stream);
amdtp_stream_stop(&motu->tx_stream);
stop_both_streams(motu);
}
err = snd_motu_stream_cache_packet_formats(motu); err = snd_motu_stream_cache_packet_formats(motu);
if (err < 0) if (err < 0)
return err; return err;
/* Stop stream if rate is different. */ // Stop stream if rate is different.
err = protocol->get_clock_rate(motu, &curr_rate); err = protocol->get_clock_rate(motu, &curr_rate);
if (err < 0) { if (err < 0) {
dev_err(&motu->unit->device, dev_err(&motu->unit->device,
...@@ -238,7 +230,9 @@ int snd_motu_stream_start_duplex(struct snd_motu *motu, unsigned int rate) ...@@ -238,7 +230,9 @@ int snd_motu_stream_start_duplex(struct snd_motu *motu, unsigned int rate)
} }
if (rate == 0) if (rate == 0)
rate = curr_rate; rate = curr_rate;
if (rate != curr_rate) { if (rate != curr_rate ||
amdtp_streaming_error(&motu->rx_stream) ||
amdtp_streaming_error(&motu->tx_stream)) {
amdtp_stream_stop(&motu->rx_stream); amdtp_stream_stop(&motu->rx_stream);
amdtp_stream_stop(&motu->tx_stream); amdtp_stream_stop(&motu->tx_stream);
stop_both_streams(motu); stop_both_streams(motu);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment