drivers/media/platform/ti/vpe/vpe.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
From: Myeonghun Pak <mhun512@gmail.com>
If the vpe_top resource is missing, vpe_probe() returns -ENODEV after
v4l2_device_register() has succeeded. Probe failures do not call the
driver's remove callback, so the v4l2 device remains registered on that
error path.
Route that failure through the existing v4l2_device_unregister() unwind
label, matching the other errors after v4l2_device_register().
Fixes: 4d59c7d45585 ("media: ti-vpe: vpe: Add missing null pointer checks")
Cc: stable@vger.kernel.org
Co-developed-by: Ijae Kim <ae878000@gmail.com>
Signed-off-by: Ijae Kim <ae878000@gmail.com>
Signed-off-by: Myeonghun Pak <mhun512@gmail.com>
---
Notes for send preparation:
- Fixes tag was validated against upstream history; the local row worktree
remains shallow/grafted and cannot verify it by itself.
- Build was not completed because this worktree has no .config.
drivers/media/platform/ti/vpe/vpe.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/media/platform/ti/vpe/vpe.c b/drivers/media/platform/ti/vpe/vpe.c
index a7e5a85e72..81bd1f9cee 100644
--- a/drivers/media/platform/ti/vpe/vpe.c
+++ b/drivers/media/platform/ti/vpe/vpe.c
@@ -2539,7 +2539,8 @@ static int vpe_probe(struct platform_device *pdev)
"vpe_top");
if (!dev->res) {
dev_err(&pdev->dev, "missing 'vpe_top' resources data\n");
- return -ENODEV;
+ ret = -ENODEV;
+ goto v4l2_dev_unreg;
}
/*
--
2.39.5
Hi,
On 26/04/26 18:46, 박명훈 wrote:
> From: Myeonghun Pak <mhun512@gmail.com>
>
> If the vpe_top resource is missing, vpe_probe() returns -ENODEV after
> v4l2_device_register() has succeeded. Probe failures do not call the
> driver's remove callback, so the v4l2 device remains registered on that
> error path.
>
> Route that failure through the existing v4l2_device_unregister() unwind
> label, matching the other errors after v4l2_device_register().
>
> Fixes: 4d59c7d45585 ("media: ti-vpe: vpe: Add missing null pointer checks")
> Cc: stable@vger.kernel.org
> Co-developed-by: Ijae Kim <ae878000@gmail.com>
> Signed-off-by: Ijae Kim <ae878000@gmail.com>
> Signed-off-by: Myeonghun Pak <mhun512@gmail.com>
> ---
> Notes for send preparation:
> - Fixes tag was validated against upstream history; the local row worktree
> remains shallow/grafted and cannot verify it by itself.
> - Build was not completed because this worktree has no .config.
>
Why can't you build test?
Having said that, the fix seems trivial and correct to me. Hence
Reviewed-by: Yemike Abhilash Chandra <y-abhilashchandra@ti.com>
> drivers/media/platform/ti/vpe/vpe.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/media/platform/ti/vpe/vpe.c b/drivers/media/platform/ti/vpe/vpe.c
> index a7e5a85e72..81bd1f9cee 100644
> --- a/drivers/media/platform/ti/vpe/vpe.c
> +++ b/drivers/media/platform/ti/vpe/vpe.c
> @@ -2539,7 +2539,8 @@ static int vpe_probe(struct platform_device *pdev)
> "vpe_top");
> if (!dev->res) {
> dev_err(&pdev->dev, "missing 'vpe_top' resources data\n");
> - return -ENODEV;
> + ret = -ENODEV;
> + goto v4l2_dev_unreg;
> }
>
> /*
© 2016 - 2026 Red Hat, Inc.