ASoC: core: fix the memory leak in case of remove_aux_dev()
When probing aux_dev, initializing is as below: device_initialize() device_add() So when remove aux_dev, we need do as below: device_del() device_put() Otherwise, the rtd_release() will not be called. So here using device_unregister() to replace device_del(), like the action in soc_remove_link_dais(). Signed-off-by: liu chuansheng <chuansheng.liu@intel.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
This commit is contained in:
parent
865df9cb12
commit
d3bf156125
|
@ -1556,7 +1556,7 @@ static void soc_remove_aux_dev(struct snd_soc_card *card, int num)
|
||||||
/* unregister the rtd device */
|
/* unregister the rtd device */
|
||||||
if (rtd->dev_registered) {
|
if (rtd->dev_registered) {
|
||||||
device_remove_file(rtd->dev, &dev_attr_codec_reg);
|
device_remove_file(rtd->dev, &dev_attr_codec_reg);
|
||||||
device_del(rtd->dev);
|
device_unregister(rtd->dev);
|
||||||
rtd->dev_registered = 0;
|
rtd->dev_registered = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue