lkml.org 
[lkml]   [2013]   [Jun]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [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@trendmicro.com.cn>"
    >
    > 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@trendmicro.com.cn>
    > Signed-off-by: Jonathan Cameron <jic23@kernel.org>
    > Signed-off-by: Jonghwan Choi <jhbird.choi@samsung.com>
    > ---
    > 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;



    \
     
     \ /
      Last update: 2013-06-02 17:41    [W:4.796 / U:0.004 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site