aboutsummaryrefslogtreecommitdiffstats
path: root/sound/firewire
diff options
context:
space:
mode:
authorTakashi Sakamoto <o-takashi@sakamocchi.jp>2019-06-18 22:26:20 +0900
committerTakashi Iwai <tiwai@suse.de>2019-06-21 11:47:09 +0200
commit7599e279c04511731e2aba4a6dc7b98e5c2a2d25 (patch)
treecfac703f9feda2395f2b7a049bd25c7e2dfbd91c /sound/firewire
parentALSA: dice: unify stop and release method for duplex streams (diff)
downloadlinux-dev-7599e279c04511731e2aba4a6dc7b98e5c2a2d25.tar.xz
linux-dev-7599e279c04511731e2aba4a6dc7b98e5c2a2d25.zip
ALSA: bebob: ensure to release isochronous resources in pcm.hw_params callback
When stopping packet streaming in reserve function for duplex streams, isochronous resources should be released. Fixes: 7bc93821a70a ("ALSA: firewire-lib: split allocation of isochronous resources from establishment of connection") Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp> Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/firewire')
-rw-r--r--sound/firewire/bebob/bebob_stream.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/sound/firewire/bebob/bebob_stream.c b/sound/firewire/bebob/bebob_stream.c
index 1070a675179d..63e78fc8711d 100644
--- a/sound/firewire/bebob/bebob_stream.c
+++ b/sound/firewire/bebob/bebob_stream.c
@@ -571,6 +571,9 @@ int snd_bebob_stream_reserve_duplex(struct snd_bebob *bebob, unsigned int rate)
amdtp_stream_stop(&bebob->rx_stream);
break_both_connections(bebob);
+
+ cmp_connection_release(&bebob->out_conn);
+ cmp_connection_release(&bebob->in_conn);
}
if (bebob->substreams_counter == 0 || curr_rate != rate) {