提交 d3bf1561 编写于 作者: C Chuansheng Liu 提交者: Mark Brown

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: Nliu chuansheng <chuansheng.liu@intel.com>
Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
上级 865df9cb
......@@ -1556,7 +1556,7 @@ static void soc_remove_aux_dev(struct snd_soc_card *card, int num)
/* unregister the rtd device */
if (rtd->dev_registered) {
device_remove_file(rtd->dev, &dev_attr_codec_reg);
device_del(rtd->dev);
device_unregister(rtd->dev);
rtd->dev_registered = 0;
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册