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]

Reply via email to