Hi Dan Thank you for your report > > 93 machine_err: > > 94 for_each_rtdcom(rtd, rtdcom) { > > 95 component = rtdcom->component; > > 96 > > 97 /* ignore duplication for now */ > > 98 if (platform && (component == &platform->component)) > > 99 continue; > > 100 > > 101 if (!component->driver->compr_ops || > > 102 !component->driver->compr_ops->free) > > 103 continue; > > 104 > > 105 component->driver->compr_ops->free(cstream); > > ^^^^^^^^^^^^^^^ > > This is in a loop so is the really right? We end up freeing cstream > > over and over? > > > > 106 } > > 107 > > 108 if (platform && platform->driver->compr_ops && platform->driver->compr_ops->free) > > 109 platform->driver->compr_ops->free(cstream); > > ^^^^^^^^^^^^^ In for_each_rtdcom(), it is checking and avoiding duplicate operation by /* ignore duplication for now */ if (platform && (component == &platform->component)) continue; So, I think there is no double free ? Best regards --- Kuninori Morimoto _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel