[PATCH] rtc: twl: Check return value of platform_get_irq()

Salah Triki posted 1 patch 2 months, 2 weeks ago
drivers/rtc/rtc-twl.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
[PATCH] rtc: twl: Check return value of platform_get_irq()
Posted by Salah Triki 2 months, 2 weeks ago
platform_get_irq() may fail, so check its return value and propagate
the error in case of failure.

Signed-off-by: Salah Triki <salah.triki@gmail.com>
---
 drivers/rtc/rtc-twl.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/drivers/rtc/rtc-twl.c b/drivers/rtc/rtc-twl.c
index e6106e67e1f4..992b3e1347f2 100644
--- a/drivers/rtc/rtc-twl.c
+++ b/drivers/rtc/rtc-twl.c
@@ -224,8 +224,11 @@ static int twl_rtc_alarm_irq_enable(struct device *dev, unsigned enabled)
 {
 	struct platform_device *pdev = to_platform_device(dev);
 	struct twl_rtc *twl_rtc = dev_get_drvdata(dev);
-	int irq = platform_get_irq(pdev, 0);
-	int ret;
+	int irq, ret;
+
+	irq = platform_get_irq(pdev, 0);
+	if (irq < 0)
+		return irq;
 
 	if (enabled) {
 		ret = set_rtc_irq_bit(twl_rtc,
-- 
2.43.0
Re: [PATCH] rtc: twl: Check return value of platform_get_irq()
Posted by Alexandre Belloni 2 months, 1 week ago
On 24/07/2025 03:06:31+0100, Salah Triki wrote:
> platform_get_irq() may fail, so check its return value and propagate
> the error in case of failure.
> 
> Signed-off-by: Salah Triki <salah.triki@gmail.com>
> ---
>  drivers/rtc/rtc-twl.c | 7 +++++--
>  1 file changed, 5 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/rtc/rtc-twl.c b/drivers/rtc/rtc-twl.c
> index e6106e67e1f4..992b3e1347f2 100644
> --- a/drivers/rtc/rtc-twl.c
> +++ b/drivers/rtc/rtc-twl.c
> @@ -224,8 +224,11 @@ static int twl_rtc_alarm_irq_enable(struct device *dev, unsigned enabled)
>  {
>  	struct platform_device *pdev = to_platform_device(dev);
>  	struct twl_rtc *twl_rtc = dev_get_drvdata(dev);
> -	int irq = platform_get_irq(pdev, 0);
> -	int ret;
> +	int irq, ret;
> +
> +	irq = platform_get_irq(pdev, 0);
> +	if (irq < 0)
> +		return irq;

It won't ever fail because we know it already succeeded earlier.

>  
>  	if (enabled) {
>  		ret = set_rtc_irq_bit(twl_rtc,
> -- 
> 2.43.0
> 

-- 
Alexandre Belloni, co-owner and COO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
Re: [PATCH] rtc: twl: Check return value of platform_get_irq()
Posted by Markus Elfring 2 months, 1 week ago
…
> > +++ b/drivers/rtc/rtc-twl.c
> > @@ -224,8 +224,11 @@ static int twl_rtc_alarm_irq_enable(struct device *dev, unsigned enabled)
> >  {
> >  	struct platform_device *pdev = to_platform_device(dev);
> >  	struct twl_rtc *twl_rtc = dev_get_drvdata(dev);
> > -	int irq = platform_get_irq(pdev, 0);
> > -	int ret;
> > +	int irq, ret;
> > +
> > +	irq = platform_get_irq(pdev, 0);
> > +	if (irq < 0)
> > +		return irq;
> 
> It won't ever fail because we know it already succeeded earlier.

An execution failure would be strange at this place after a successful function call
within twl_rtc_probe(), wouldn't it?
https://elixir.bootlin.com/linux/v6.16-rc7/source/drivers/rtc/rtc-twl.c#L504-L519

Regards,
Markus