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

From: Adam Thomson
Date: Mon Oct 07 2019 - 06:41:07 EST


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

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

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