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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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 stable" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]