Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c6e5e741 authored by Takashi Sakamoto's avatar Takashi Sakamoto Committed by Takashi Iwai
Browse files

ALSA: fireworks/bebob: Shorten critical section for stream_stop_duplex()



All assignment for local variables in these functions are not related to
critical section.

Signed-off-by: default avatarTakashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
parent 21fd3e95
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -655,8 +655,6 @@ void snd_bebob_stream_stop_duplex(struct snd_bebob *bebob)
	struct amdtp_stream *master, *slave;
	atomic_t *master_substreams, *slave_substreams;

	mutex_lock(&bebob->mutex);

	if (bebob->master == &bebob->rx_stream) {
		slave  = &bebob->tx_stream;
		master = &bebob->rx_stream;
@@ -669,6 +667,8 @@ void snd_bebob_stream_stop_duplex(struct snd_bebob *bebob)
		master_substreams = &bebob->capture_substreams;
	}

	mutex_lock(&bebob->mutex);

	if (atomic_read(slave_substreams) == 0) {
		amdtp_stream_pcm_abort(slave);
		amdtp_stream_stop(slave);
+2 −2
Original line number Diff line number Diff line
@@ -284,8 +284,6 @@ void snd_efw_stream_stop_duplex(struct snd_efw *efw)
	struct amdtp_stream *master, *slave;
	atomic_t *master_substreams, *slave_substreams;

	mutex_lock(&efw->mutex);

	if (efw->master == &efw->rx_stream) {
		slave  = &efw->tx_stream;
		master = &efw->rx_stream;
@@ -298,6 +296,8 @@ void snd_efw_stream_stop_duplex(struct snd_efw *efw)
		master_substreams = &efw->capture_substreams;
	}

	mutex_lock(&efw->mutex);

	if (atomic_read(slave_substreams) == 0) {
		stop_stream(efw, slave);