summaryrefslogtreecommitdiffstats
path: root/drivers/video
diff options
context:
space:
mode:
authorZhang Shurong <zhang_shurong@foxmail.com>2023-07-15 16:16:56 +0800
committerHelge Deller <deller@gmx.de>2023-07-20 07:52:54 +0200
commit4e88761f5f8c7869f15a2046b1a1116f4fab4ac8 (patch)
treed5016e4a1f126706e552b08d19639007096ef088 /drivers/video
parent298e082558d86aa904486d087ce45d35c1122f1e (diff)
downloadlinux-stable-4e88761f5f8c7869f15a2046b1a1116f4fab4ac8.tar.gz
linux-stable-4e88761f5f8c7869f15a2046b1a1116f4fab4ac8.tar.bz2
linux-stable-4e88761f5f8c7869f15a2046b1a1116f4fab4ac8.zip
fbdev: au1200fb: Fix missing IRQ check in au1200fb_drv_probe
This func misses checking for platform_get_irq()'s call and may passes the negative error codes to request_irq(), which takes unsigned IRQ #, causing it to fail with -EINVAL, overriding an original error code. Fix this by stop calling request_irq() with invalid IRQ #s. Fixes: 1630d85a8312 ("au1200fb: fix hardcoded IRQ") Signed-off-by: Zhang Shurong <zhang_shurong@foxmail.com> Signed-off-by: Helge Deller <deller@gmx.de>
Diffstat (limited to 'drivers/video')
-rw-r--r--drivers/video/fbdev/au1200fb.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/video/fbdev/au1200fb.c b/drivers/video/fbdev/au1200fb.c
index 5c232eb13724..c137d6afe484 100644
--- a/drivers/video/fbdev/au1200fb.c
+++ b/drivers/video/fbdev/au1200fb.c
@@ -1732,6 +1732,9 @@ static int au1200fb_drv_probe(struct platform_device *dev)
/* Now hook interrupt too */
irq = platform_get_irq(dev, 0);
+ if (irq < 0)
+ return irq;
+
ret = request_irq(irq, au1200fb_handle_irq,
IRQF_SHARED, "lcd", (void *)dev);
if (ret) {