Re: [PATCH] pwm: spear: fix check on pwmchip_add() return value

From: Thierry Reding
Date: Wed May 07 2014 - 04:26:12 EST


On Wed, May 07, 2014 at 11:37:25AM +0530, Viresh Kumar wrote:
> On Tue, May 6, 2014 at 2:59 AM, Beniamino Galvani <b.galvani@xxxxxxxxx> wrote:
> > pwmchip_add() returns zero on success and a negative value on error,
> > so the condition of the check must be inverted.
> >
> > Signed-off-by: Beniamino Galvani <b.galvani@xxxxxxxxx>
> > ---
> > drivers/pwm/pwm-spear.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/drivers/pwm/pwm-spear.c b/drivers/pwm/pwm-spear.c
> > index cb2d4f0..945556d 100644
> > --- a/drivers/pwm/pwm-spear.c
> > +++ b/drivers/pwm/pwm-spear.c
> > @@ -222,7 +222,7 @@ static int spear_pwm_probe(struct platform_device *pdev)
> > }
> >
> > ret = pwmchip_add(&pc->chip);
> > - if (!ret) {
> > + if (ret < 0) {
> > clk_unprepare(pc->clk);
> > dev_err(&pdev->dev, "pwmchip_add() failed: %d\n", ret);
> > }

So the current code would run clk_unprepare() on success, but not on
failure. Does that cause any harm? Is the device still usable after
this? I'm asking because I'm not sure if this is linux-next material
or should be a fix for 3.15 (and possibly backported to stable).

Thierry

Attachment: pgpWtFVEb2H7Z.pgp
Description: PGP signature