On Sat Mar 28 11:23:30 2026 +0000, David Carlier wrote:
> 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: [email protected]
> Signed-off-by: David Carlier <[email protected]>
> Signed-off-by: Hans Verkuil <[email protected]>

Patch committed.

Thanks,
Hans Verkuil

 drivers/media/platform/aspeed/aspeed-video.c | 1 +
 1 file changed, 1 insertion(+)

---

diff --git a/drivers/media/platform/aspeed/aspeed-video.c 
b/drivers/media/platform/aspeed/aspeed-video.c
index 41cb96f60110..a292275f6b7b 100644
--- a/drivers/media/platform/aspeed/aspeed-video.c
+++ b/drivers/media/platform/aspeed/aspeed-video.c
@@ -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;
_______________________________________________
linuxtv-commits mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to