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 - 2024 Red Hat, Inc.