On Sat Mar 28 18:17:49 2026 +0000, David Carlier wrote:
> npcm_video_init() has two error handling issues after
> of_reserved_mem_device_init() is called:
>
> When dma_set_mask_and_coherent() fails, the function releases the
> reserved memory but does not return, allowing execution to fall through
> into npcm_video_ece_init() with a failed DMA configuration.
>
> When npcm_video_ece_init() fails, the function returns an error without
> calling of_reserved_mem_device_release(), leaking the reserved memory
> association.
>
> Fix both by adding the missing return after the DMA mask failure and
> adding the missing of_reserved_mem_device_release() call on the ECE init
> error path.
>
> Fixes: 46c15a4ff1f4 ("media: nuvoton: Add driver for NPCM video capture and
> encoding engine")
> 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/nuvoton/npcm-video.c | 2 ++
1 file changed, 2 insertions(+)
---
diff --git a/drivers/media/platform/nuvoton/npcm-video.c
b/drivers/media/platform/nuvoton/npcm-video.c
index b2a562e1ee1c..5c6bddfe8073 100644
--- a/drivers/media/platform/nuvoton/npcm-video.c
+++ b/drivers/media/platform/nuvoton/npcm-video.c
@@ -1720,10 +1720,12 @@ static int npcm_video_init(struct npcm_video *video)
if (rc) {
dev_err(dev, "Failed to set DMA mask\n");
of_reserved_mem_device_release(dev);
+ return rc;
}
rc = npcm_video_ece_init(video);
if (rc) {
+ of_reserved_mem_device_release(dev);
dev_err(dev, "Failed to initialize ECE\n");
return rc;
}
_______________________________________________
linuxtv-commits mailing list -- [email protected]
To unsubscribe send an email to [email protected]