diff mbox series

[RFT] rtc: da9063: Handle invalid IRQ from platform_get_irq_byname()

Message ID 20191004150510.6278-1-krzk@kernel.org
State Accepted
Headers show
Series [RFT] rtc: da9063: Handle invalid IRQ from platform_get_irq_byname() | expand

Commit Message

Krzysztof Kozlowski Oct. 4, 2019, 3:05 p.m. UTC
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>

---

Not marking as cc-stable as this was not reproduced and not tested.
---
 drivers/rtc/rtc-da9063.c | 3 +++
 1 file changed, 3 insertions(+)

Comments

Adam Thomson Oct. 7, 2019, 10:40 a.m. UTC | #1
On 04 October 2019 16:05, Krzysztof Kozlowski wrote:

> 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>

This doesn't break the existing RTC functionality when running up on my test
board with DA9063. Although very unlikely to occur it does make sense so:

Tested-by: Adam Thomson <Adam.Thomson.Opensource@diasemi.com>

> 
> ---
> 
> Not marking as cc-stable as this was not reproduced and not tested.
> ---
>  drivers/rtc/rtc-da9063.c | 3 +++
>  1 file changed, 3 insertions(+)
> 
> 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,
> --
Alexandre Belloni Oct. 7, 2019, 1:50 p.m. UTC | #2
On 04/10/2019 17:05:10+0200, Krzysztof Kozlowski wrote:
> 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>
> 
> ---
> 
> Not marking as cc-stable as this was not reproduced and not tested.
> ---
>  drivers/rtc/rtc-da9063.c | 3 +++
>  1 file changed, 3 insertions(+)
> 
Applied, thanks.
diff mbox series

Patch

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,