summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKrzysztof Kozlowski <krzk@kernel.org>2019-10-04 17:05:10 +0200
committerAlexandre Belloni <alexandre.belloni@bootlin.com>2019-10-07 15:49:18 +0200
commit7da83f1bba0e4b70af2d292e099bec6092b37217 (patch)
tree0069d58ae6c4392597b9d9a5bbff815e6b6715d2
parentrtc: m41t80: set range (diff)
downloadlinux-7da83f1bba0e4b70af2d292e099bec6092b37217.tar.xz
linux-7da83f1bba0e4b70af2d292e099bec6092b37217.zip
rtc: da9063: Handle invalid IRQ from platform_get_irq_byname()
platform_get_irq_byname() might return -errno which later would be cast to an unsigned int and used in request_irq(). Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org> Tested-by: Adam Thomson <Adam.Thomson.Opensource@diasemi.com> Link: https://lore.kernel.org/r/20191004150510.6278-1-krzk@kernel.org Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
-rw-r--r--drivers/rtc/rtc-da9063.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/rtc/rtc-da9063.c b/drivers/rtc/rtc-da9063.c
index 15908d51b1cb..046b1d4c3dae 100644
--- a/drivers/rtc/rtc-da9063.c
+++ b/drivers/rtc/rtc-da9063.c
@@ -483,6 +483,9 @@ static int da9063_rtc_probe(struct platform_device *pdev)
rtc->rtc_dev->uie_unsupported = 1;
irq_alarm = platform_get_irq_byname(pdev, "ALARM");
+ if (irq_alarm < 0)
+ return irq_alarm;
+
ret = devm_request_threaded_irq(&pdev->dev, irq_alarm, NULL,
da9063_alarm_event,
IRQF_TRIGGER_LOW | IRQF_ONESHOT,