diff mbox series

rtc: k3: handle errors while enabling wake irq

Message ID 20230323081942.951542-1-d-gole@ti.com
State Changes Requested
Headers show
Series rtc: k3: handle errors while enabling wake irq | expand

Commit Message

Dhruva Gole March 23, 2023, 8:19 a.m. UTC
Due to the potential failure of enable_irq_wake(), it would be better to
check it and return error if it fails.

Fixes: b09d633575e5 ("rtc: Introduce ti-k3-rtc")
Cc: Nishanth Menon <nm@ti.com>
Signed-off-by: Dhruva Gole <d-gole@ti.com>
---
 drivers/rtc/rtc-ti-k3.c | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

Comments

Alexandre Belloni March 23, 2023, 8:34 a.m. UTC | #1
On 23/03/2023 13:49:42+0530, Dhruva Gole wrote:
> Due to the potential failure of enable_irq_wake(), it would be better to
> check it and return error if it fails.
> 
> Fixes: b09d633575e5 ("rtc: Introduce ti-k3-rtc")
> Cc: Nishanth Menon <nm@ti.com>
> Signed-off-by: Dhruva Gole <d-gole@ti.com>
> ---
>  drivers/rtc/rtc-ti-k3.c | 11 ++++++++++-
>  1 file changed, 10 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/rtc/rtc-ti-k3.c b/drivers/rtc/rtc-ti-k3.c
> index ba23163cc042..ef9d7e1cf92e 100644
> --- a/drivers/rtc/rtc-ti-k3.c
> +++ b/drivers/rtc/rtc-ti-k3.c
> @@ -630,9 +630,18 @@ MODULE_DEVICE_TABLE(of, ti_k3_rtc_of_match_table);
>  static int __maybe_unused ti_k3_rtc_suspend(struct device *dev)
>  {
>  	struct ti_k3_rtc *priv = dev_get_drvdata(dev);
> +	int error;

This variable is not necessary.

>  
>  	if (device_may_wakeup(dev))
> -		enable_irq_wake(priv->irq);
> +		error = enable_irq_wake(priv->irq);
> +
> +	if (error) {
> +		dev_err(dev,
> +			"failed to enable irq wake on IRQ %d: %d\n",
> +			priv->irq, error);

Please remove this message, this is too verbose and there is no action
for the user apart from trying to go to suspend again.

> +		return error;
> +	}
> +
>  	return 0;
>  }
>  
> -- 
> 2.25.1
>
diff mbox series

Patch

diff --git a/drivers/rtc/rtc-ti-k3.c b/drivers/rtc/rtc-ti-k3.c
index ba23163cc042..ef9d7e1cf92e 100644
--- a/drivers/rtc/rtc-ti-k3.c
+++ b/drivers/rtc/rtc-ti-k3.c
@@ -630,9 +630,18 @@  MODULE_DEVICE_TABLE(of, ti_k3_rtc_of_match_table);
 static int __maybe_unused ti_k3_rtc_suspend(struct device *dev)
 {
 	struct ti_k3_rtc *priv = dev_get_drvdata(dev);
+	int error;
 
 	if (device_may_wakeup(dev))
-		enable_irq_wake(priv->irq);
+		error = enable_irq_wake(priv->irq);
+
+	if (error) {
+		dev_err(dev,
+			"failed to enable irq wake on IRQ %d: %d\n",
+			priv->irq, error);
+		return error;
+	}
+
 	return 0;
 }