]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
media: aspeed: fix missing of_reserved_mem_device_release() on probe failure
authorDavid Carlier <devnexen@gmail.com>
Sat, 28 Mar 2026 11:23:30 +0000 (11:23 +0000)
committerHans Verkuil <hverkuil+cisco@kernel.org>
Tue, 5 May 2026 14:57:02 +0000 (16:57 +0200)
aspeed_video_init() calls of_reserved_mem_device_init() to associate
reserved memory regions with the device. When aspeed_video_setup_video()
subsequently fails in aspeed_video_probe(), the error path frees the
JPEG buffer and unprepares the clocks but does not release the reserved
memory association, leaking the rmem_assigned_device entry on the global
list.

The normal remove path already calls of_reserved_mem_device_release()
correctly; only the probe error path was missing it.

Add the missing of_reserved_mem_device_release() call to the
aspeed_video_setup_video() failure cleanup.

Fixes: d2b4387f3bdf ("media: platform: Add Aspeed Video Engine driver")
Cc: stable@vger.kernel.org
Signed-off-by: David Carlier <devnexen@gmail.com>
Signed-off-by: Hans Verkuil <hverkuil+cisco@kernel.org>
drivers/media/platform/aspeed/aspeed-video.c

index 41cb96f6011021ddd66b2ef322072faca46d0ce0..a292275f6b7b9ef217c9691ffe6247e9cb157529 100644 (file)
@@ -2343,6 +2343,7 @@ static int aspeed_video_probe(struct platform_device *pdev)
        rc = aspeed_video_setup_video(video);
        if (rc) {
                aspeed_video_free_buf(video, &video->jpeg);
+               of_reserved_mem_device_release(&pdev->dev);
                clk_unprepare(video->vclk);
                clk_unprepare(video->eclk);
                return rc;