On Fri, Feb 25, 2022 at 05:53:18PM +0000, Biju Das wrote: > If reset_control_deassert() fails, then we won't be able to > access the device registers. Therefore check the return code of > reset_control_deassert() and bailout in case of error. > > Signed-off-by: Biju Das <biju.das.jz@xxxxxxxxxxxxxx> > Reviewed-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> > --- > v4->v5: > * Updated commit description. > * Moved reset control imbalance to patch#4. > v3->v4: > * Made reset usage counter balanced > * Updated commit description > v2->v3: > * Patch reordering from Patch 2 -> Patch 3 > * Updated commit description > v1->v2: > * Updated commit description and removed Rb tag from Guenter, > since there is code change > * Replaced reset_control_assert with reset_control_reset in stop > and removed reset_control_deassert() from start. > --- > drivers/watchdog/rzg2l_wdt.c | 5 ++++- > 1 file changed, 4 insertions(+), 1 deletion(-) > > diff --git a/drivers/watchdog/rzg2l_wdt.c b/drivers/watchdog/rzg2l_wdt.c > index 88274704b260..73b667ed3e99 100644 > --- a/drivers/watchdog/rzg2l_wdt.c > +++ b/drivers/watchdog/rzg2l_wdt.c > @@ -203,7 +203,10 @@ static int rzg2l_wdt_probe(struct platform_device *pdev) > return dev_err_probe(&pdev->dev, PTR_ERR(priv->rstc), > "failed to get cpg reset"); > > - reset_control_deassert(priv->rstc); > + ret = reset_control_deassert(priv->rstc); > + if (ret) > + return dev_err_probe(dev, ret, "failed to deassert"); > + > pm_runtime_enable(&pdev->dev); > > priv->wdev.info = &rzg2l_wdt_ident;