[PATCH] drm/pl111: Fix error handling in pl111_amba_probe

Miaoqian Lin posted 1 patch 1 month, 4 weeks ago
drivers/gpu/drm/pl111/pl111_drv.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[PATCH] drm/pl111: Fix error handling in pl111_amba_probe
Posted by Miaoqian Lin 1 month, 4 weeks ago
Jump to the existing dev_put label when devm_request_irq() fails
so drm_dev_put() and of_reserved_mem_device_release() run
instead of returning early and leaking resources.

Found via static analysis and code review.

Fixes: bed41005e617 ("drm/pl111: Initial drm/kms driver for pl111")
Cc: stable@vger.kernel.org
Signed-off-by: Miaoqian Lin <linmq006@gmail.com>
---
 drivers/gpu/drm/pl111/pl111_drv.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/pl111/pl111_drv.c b/drivers/gpu/drm/pl111/pl111_drv.c
index 56ff6a3fb483..d7dc83cf7b00 100644
--- a/drivers/gpu/drm/pl111/pl111_drv.c
+++ b/drivers/gpu/drm/pl111/pl111_drv.c
@@ -295,7 +295,7 @@ static int pl111_amba_probe(struct amba_device *amba_dev,
 			       variant->name, priv);
 	if (ret != 0) {
 		dev_err(dev, "%s failed irq %d\n", __func__, ret);
-		return ret;
+		goto dev_put;
 	}
 
 	ret = pl111_modeset_init(drm);
-- 
2.25.1
Re: [PATCH] drm/pl111: Fix error handling in pl111_amba_probe
Posted by Linus Walleij 1 month, 1 week ago
On Thu, Dec 11, 2025 at 1:34 PM Miaoqian Lin <linmq006@gmail.com> wrote:

> Jump to the existing dev_put label when devm_request_irq() fails
> so drm_dev_put() and of_reserved_mem_device_release() run
> instead of returning early and leaking resources.
>
> Found via static analysis and code review.
>
> Fixes: bed41005e617 ("drm/pl111: Initial drm/kms driver for pl111")
> Cc: stable@vger.kernel.org
> Signed-off-by: Miaoqian Lin <linmq006@gmail.com>

Patch applied to drm-misc-fixes, thanks for fixing this
obvious bug!

Yours,
Linus Walleij