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: Takashi Sakamoto <o-takashi@sakamocchi.jp> Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:

committed by
Takashi Iwai

parent
8350132e39
commit
fc49769af4
@@ -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)
|
|||||||
}
|
}
|
||||||
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);
|
||||||
|
Reference in New Issue
Block a user