diff options
| author | Felix Gu <ustc.gu@gmail.com> | 2026-02-03 20:14:58 +0800 |
|---|---|---|
| committer | Helge Deller <deller@gmx.de> | 2026-02-14 11:09:47 +0100 |
| commit | ce4e25198a6aaaaf36248edf8daf3d744ec8e309 (patch) | |
| tree | 6f37a9a34a0136405c003cb6b236498e82f6d8b5 /drivers | |
| parent | b28da0d092461ac239ff034a8ac3129320177ba3 (diff) | |
fbdev: au1200fb: Fix a memory leak in au1200fb_drv_probe()
In au1200fb_drv_probe(), when platform_get_irq fails(), it directly
returns from the function with an error code, which causes a memory
leak.
Replace it with a goto label to ensure proper cleanup.
Fixes: 4e88761f5f8c ("fbdev: au1200fb: Fix missing IRQ check in au1200fb_drv_probe")
Signed-off-by: Felix Gu <ustc.gu@gmail.com>
Signed-off-by: Helge Deller <deller@gmx.de>
Diffstat (limited to 'drivers')
| -rw-r--r-- | drivers/video/fbdev/au1200fb.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/video/fbdev/au1200fb.c b/drivers/video/fbdev/au1200fb.c index ed770222660b..685e629e7e16 100644 --- a/drivers/video/fbdev/au1200fb.c +++ b/drivers/video/fbdev/au1200fb.c @@ -1724,8 +1724,10 @@ static int au1200fb_drv_probe(struct platform_device *dev) /* Now hook interrupt too */ irq = platform_get_irq(dev, 0); - if (irq < 0) - return irq; + if (irq < 0) { + ret = irq; + goto failed; + } ret = request_irq(irq, au1200fb_handle_irq, IRQF_SHARED, "lcd", (void *)dev); |
