10 Nov
2011
10 Nov
'11
12:43 p.m.
On Tue, Nov 01, 2011 at 04:05:16PM -0500, Alan Tull wrote:
This looks mostly good, though as someone pointed out earlier it'd be nicer to split the ioctl() operation addition out into a separate patch. One issue, though.
@@ -1547,6 +1547,7 @@ static int soc_cleanup_card_resources(struct snd_soc_card *card)
snd_soc_dapm_free(&card->dapm);
- kfree(card->rtd->ops);
This is going to leak - rtd is an array per PCM, not a single value, so we need to free the ops for each element. This is so we can have multiple DMA controllers in a single card.
Actually what would be even easier would be to just embed the ops in the struct, we need to allocate one per runtime anyway and it makes for less allocation and cleanup code.