Skip to content

Commit bee65e0

Browse files
CassivsGabriellisbroonie
authored andcommitted
ASoC: mediatek: mt8183: Release reserved memory on cleanup
The MT8183 AFE probe can assign reserved memory with of_reserved_mem_device_init(), but the assignment is never released on driver removal or later probe failures. Register a devm cleanup action so the reserved memory assignment is released consistently, matching newer Mediatek AFE drivers. Fixes: ec4a10c ("ASoC: mediatek: use reserved memory or enable buffer pre-allocation") Cc: stable@vger.kernel.org Signed-off-by: Cássio Gabriel <cassiogabrielcontato@gmail.com> Link: https://patch.msgid.link/20260527-asoc-mt8183-probe-cleanup-v1-1-4f4f5593c8d1@gmail.com Signed-off-by: Mark Brown <broonie@kernel.org>
1 parent e43ffb6 commit bee65e0

1 file changed

Lines changed: 11 additions & 0 deletions

File tree

sound/soc/mediatek/mt8183/mt8183-afe-pcm.c

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -766,6 +766,11 @@ static const dai_register_cb dai_register_cbs[] = {
766766
mt8183_dai_memif_register,
767767
};
768768

769+
static void mt8183_afe_release_reserved_mem(void *data)
770+
{
771+
of_reserved_mem_device_release(data);
772+
}
773+
769774
static int mt8183_afe_pcm_dev_probe(struct platform_device *pdev)
770775
{
771776
struct mtk_base_afe *afe;
@@ -794,6 +799,12 @@ static int mt8183_afe_pcm_dev_probe(struct platform_device *pdev)
794799
if (ret) {
795800
dev_info(dev, "no reserved memory found, pre-allocating buffers instead\n");
796801
afe->preallocate_buffers = true;
802+
} else {
803+
ret = devm_add_action_or_reset(dev,
804+
mt8183_afe_release_reserved_mem,
805+
dev);
806+
if (ret)
807+
return ret;
797808
}
798809

799810
/* initial audio related clock */

0 commit comments

Comments
 (0)