diff options
| author | David Carlier <devnexen@gmail.com> | 2026-03-28 14:23:30 +0300 |
|---|---|---|
| committer | Hans Verkuil <hverkuil+cisco@kernel.org> | 2026-05-05 17:57:02 +0300 |
| commit | 253c8ef7d57da0c74db251f385324faaa5ae2257 (patch) | |
| tree | 8b7459e508a1f9a523cb9a9f26802c496bc1ec21 | |
| parent | d1162a5adbb5e95953d460b5bde3a04cd4473fe9 (diff) | |
| download | linux-253c8ef7d57da0c74db251f385324faaa5ae2257.tar.xz | |
media: aspeed: fix missing of_reserved_mem_device_release() on probe failure
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>
| -rw-r--r-- | drivers/media/platform/aspeed/aspeed-video.c | 1 |
1 files changed, 1 insertions, 0 deletions
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; |
