On Mar 28 2016 08:23, Takashi Sakamoto wrote: > When sound card is going to be released, dice private data is > also released. Then all of data should be released. However, > stream data is not released. This causes memory leak when > unplugging dice unit. > > This commit fixes the bug. > > Fixes: 4bdc495c87b3('ALSA: dice: handle several PCM substreams when any isochronous streams are available') Oops. I forgot to add 'Signed-off-by'. Please drop this... > --- > sound/firewire/dice/dice-stream.c | 14 ++++---------- > 1 file changed, 4 insertions(+), 10 deletions(-) > > diff --git a/sound/firewire/dice/dice-stream.c b/sound/firewire/dice/dice-stream.c > index 845d5e5..ec4db3a 100644 > --- a/sound/firewire/dice/dice-stream.c > +++ b/sound/firewire/dice/dice-stream.c > @@ -446,18 +446,12 @@ end: > > void snd_dice_stream_destroy_duplex(struct snd_dice *dice) > { > - struct reg_params tx_params, rx_params; > - > - snd_dice_transaction_clear_enable(dice); > + unsigned int i; > > - if (get_register_params(dice, &tx_params, &rx_params) == 0) { > - stop_streams(dice, AMDTP_IN_STREAM, &tx_params); > - stop_streams(dice, AMDTP_OUT_STREAM, &rx_params); > + for (i = 0; i < MAX_STREAMS; i++) { > + destroy_stream(dice, AMDTP_IN_STREAM, i); > + destroy_stream(dice, AMDTP_OUT_STREAM, i); > } > - > - release_resources(dice); > - > - dice->substreams_counter = 0; > } > > void snd_dice_stream_update_duplex(struct snd_dice *dice) > _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel