diff options
Diffstat (limited to 'sound/soc/soc-topology.c')
-rw-r--r-- | sound/soc/soc-topology.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/sound/soc/soc-topology.c b/sound/soc/soc-topology.c index 25fca7055464..96852d250619 100644 --- a/sound/soc/soc-topology.c +++ b/sound/soc/soc-topology.c | |||
@@ -482,10 +482,11 @@ static void remove_widget(struct snd_soc_component *comp, | |||
482 | 482 | ||
483 | snd_ctl_remove(card, kcontrol); | 483 | snd_ctl_remove(card, kcontrol); |
484 | 484 | ||
485 | kfree(dobj->control.dvalues); | 485 | /* free enum kcontrol's dvalues and dtexts */ |
486 | kfree(se->dobj.control.dvalues); | ||
486 | for (j = 0; j < se->items; j++) | 487 | for (j = 0; j < se->items; j++) |
487 | kfree(dobj->control.dtexts[j]); | 488 | kfree(se->dobj.control.dtexts[j]); |
488 | kfree(dobj->control.dtexts); | 489 | kfree(se->dobj.control.dtexts); |
489 | 490 | ||
490 | kfree(se); | 491 | kfree(se); |
491 | kfree(w->kcontrol_news[i].name); | 492 | kfree(w->kcontrol_news[i].name); |