Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b07e3182 authored by Zhang Shurong's avatar Zhang Shurong Committed by Greg Kroah-Hartman
Browse files

fbdev: au1200fb: Fix missing IRQ check in au1200fb_drv_probe



[ Upstream commit 4e88761f5f8c7869f15a2046b1a1116f4fab4ac8 ]

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: 1630d85a ("au1200fb: fix hardcoded IRQ")
Signed-off-by: default avatarZhang Shurong <zhang_shurong@foxmail.com>
Signed-off-by: default avatarHelge Deller <deller@gmx.de>
Signed-off-by: default avatarSasha Levin <sashal@kernel.org>
parent 6d39e9fc
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -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) {