RE: [PATCH 3.9-stable] staging:iio:light:tsl2x7x: fix the errorhandling in tsl2x7x_probe()

From: Jonghwan Choi
Date: Sun Jun 02 2013 - 18:57:28 EST


Thanks for the kind reply.

Best Regards.~

> -----Original Message-----
> From: Jonathan Cameron [mailto:jic23@xxxxxxxxxxxxxxxxxxxxx]
> Sent: Monday, June 03, 2013 12:13 AM
> To: Jonghwan Choi
> Cc: linux-kernel@xxxxxxxxxxxxxxx; stable@xxxxxxxxxxxxxxx; 'Wei Yongjun';
> 'Jonathan Cameron'
> Subject: Re: [PATCH 3.9-stable] staging:iio:light:tsl2x7x: fix the error
> handling in tsl2x7x_probe()
>
> On 05/24/2013 03:42 AM, Jonghwan Choi wrote:
> > This patch looks like it should be in the 3.9-stable tree, should we
> apply
> > it?
> It's a pretty unlikely problem to hit in reality so up to you on whether
> you think it worth picking up. Also note that only the -EINVAL bit
> is actually a fix. The rest of it was some incidental tidying up.
>
> Jonathan
>
> > ------------------
> >
> > From: "Wei Yongjun <yongjun_wei@xxxxxxxxxxxxxxxxx>"
> >
> > commit 3b813798aa7030f1beef638c75f8b0008f737a82 upstream
> >
> > Fix to return -EINVAL in the i2c device found error handling
> > case instead of 0, as done elsewhere in this function.
> > And also correct the fail1 and fail2 lable to do the right thing.
> >
> > Signed-off-by: Wei Yongjun <yongjun_wei@xxxxxxxxxxxxxxxxx>
> > Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx>
> > Signed-off-by: Jonghwan Choi <jhbird.choi@xxxxxxxxxxx>
> > ---
> > drivers/staging/iio/light/tsl2x7x_core.c | 9 +++++----
> > 1 file changed, 5 insertions(+), 4 deletions(-)
> >
> > diff --git a/drivers/staging/iio/light/tsl2x7x_core.c
> > b/drivers/staging/iio/light/tsl2x7x_core.c
> > index a58731e..2d40c03 100644
> > --- a/drivers/staging/iio/light/tsl2x7x_core.c
> > +++ b/drivers/staging/iio/light/tsl2x7x_core.c
> > @@ -1869,6 +1869,7 @@ static int tsl2x7x_probe(struct i2c_client
> *clientp,
> > dev_info(&chip->client->dev,
> > "%s: i2c device found does not match
> > expected id\n",
> > __func__);
> > + ret = -EINVAL;
> > goto fail1;
> > }
> >
> > @@ -1907,7 +1908,7 @@ static int tsl2x7x_probe(struct i2c_client
> *clientp,
> > if (ret) {
> > dev_err(&clientp->dev,
> > "%s: irq request failed", __func__);
> > - goto fail2;
> > + goto fail1;
> > }
> > }
> >
> > @@ -1920,17 +1921,17 @@ static int tsl2x7x_probe(struct i2c_client
> *clientp,
> > if (ret) {
> > dev_err(&clientp->dev,
> > "%s: iio registration failed\n", __func__);
> > - goto fail1;
> > + goto fail2;
> > }
> >
> > dev_info(&clientp->dev, "%s Light sensor found.\n", id->name);
> >
> > return 0;
> >
> > -fail1:
> > +fail2:
> > if (clientp->irq)
> > free_irq(clientp->irq, indio_dev);
> > -fail2:
> > +fail1:
> > iio_device_free(indio_dev);
> >
> > return ret;

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/