Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d3bf1561 authored by Chuansheng Liu's avatar Chuansheng Liu Committed by Mark Brown
Browse files

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: default avatarliu chuansheng <chuansheng.liu@intel.com>
Signed-off-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
parent 865df9cb
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -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;
	}