drivers/counter/ti-ecap-capture.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)
Add check for the return value of clk_enable() in order to catch the
potential exception.
Fixes: 4e2f42aa00b6 ("counter: ti-ecap-capture: capture driver support for ECAP")
Signed-off-by: Jiasheng Jiang <jiashengjiangcool@gmail.com>
---
drivers/counter/ti-ecap-capture.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/drivers/counter/ti-ecap-capture.c b/drivers/counter/ti-ecap-capture.c
index 675447315caf..30a269fa5da0 100644
--- a/drivers/counter/ti-ecap-capture.c
+++ b/drivers/counter/ti-ecap-capture.c
@@ -574,8 +574,11 @@ static int ecap_cnt_resume(struct device *dev)
{
struct counter_device *counter_dev = dev_get_drvdata(dev);
struct ecap_cnt_dev *ecap_dev = counter_priv(counter_dev);
+ int ret;
- clk_enable(ecap_dev->clk);
+ ret = clk_enable(ecap_dev->clk);
+ if (ret)
+ return ret;
ecap_cnt_capture_set_evmode(counter_dev, ecap_dev->pm_ctx.ev_mode);
--
2.25.1
On Sun, Nov 03, 2024 at 09:39:10PM +0000, Jiasheng Jiang wrote:
> Add check for the return value of clk_enable() in order to catch the
> potential exception.
>
> Fixes: 4e2f42aa00b6 ("counter: ti-ecap-capture: capture driver support for ECAP")
> Signed-off-by: Jiasheng Jiang <jiashengjiangcool@gmail.com>
> ---
> drivers/counter/ti-ecap-capture.c | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/counter/ti-ecap-capture.c b/drivers/counter/ti-ecap-capture.c
> index 675447315caf..30a269fa5da0 100644
> --- a/drivers/counter/ti-ecap-capture.c
> +++ b/drivers/counter/ti-ecap-capture.c
> @@ -574,8 +574,11 @@ static int ecap_cnt_resume(struct device *dev)
> {
> struct counter_device *counter_dev = dev_get_drvdata(dev);
> struct ecap_cnt_dev *ecap_dev = counter_priv(counter_dev);
> + int ret;
>
> - clk_enable(ecap_dev->clk);
> + ret = clk_enable(ecap_dev->clk);
> + if (ret)
> + return ret;
>
> ecap_cnt_capture_set_evmode(counter_dev, ecap_dev->pm_ctx.ev_mode);
>
> --
> 2.25.1
Similar to the stm32-timer-cnt patch comment: it's not necessarily clear
that an error in the cnt_resume() callback is due to a clk_enable()
failure, so you should call dev_err() before returning to indicate the
reason for the error code.
William Breathitt Gray
On 11/3/24 22:39, Jiasheng Jiang wrote:
> Add check for the return value of clk_enable() in order to catch the
> potential exception.
>
> Fixes: 4e2f42aa00b6 ("counter: ti-ecap-capture: capture driver support for ECAP")
> Signed-off-by: Jiasheng Jiang <jiashengjiangcool@gmail.com>
> ---
> drivers/counter/ti-ecap-capture.c | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/counter/ti-ecap-capture.c b/drivers/counter/ti-ecap-capture.c
> index 675447315caf..30a269fa5da0 100644
> --- a/drivers/counter/ti-ecap-capture.c
> +++ b/drivers/counter/ti-ecap-capture.c
> @@ -574,8 +574,11 @@ static int ecap_cnt_resume(struct device *dev)
> {
> struct counter_device *counter_dev = dev_get_drvdata(dev);
> struct ecap_cnt_dev *ecap_dev = counter_priv(counter_dev);
> + int ret;
>
> - clk_enable(ecap_dev->clk);
> + ret = clk_enable(ecap_dev->clk);
> + if (ret)
> + return ret;
>
> ecap_cnt_capture_set_evmode(counter_dev, ecap_dev->pm_ctx.ev_mode);
>
Reviewed-by: Julien Panis <jpanis@baylibre.com>
© 2016 - 2026 Red Hat, Inc.