Message ID | 20241103213910.31976-1-jiashengjiangcool@gmail.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | counter: ti-ecap-capture: Add check for clk_enable() | expand |
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>
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
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);
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(-)