Skip to content

Commit

Permalink
staging:iio:light:tsl2x7x: fix the error handling in tsl2x7x_probe()
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Wei Yongjun authored and Jonathan Cameron committed May 22, 2013
1 parent c80712c commit 3b81379
Showing 1 changed file with 5 additions and 4 deletions.
9 changes: 5 additions & 4 deletions drivers/staging/iio/light/tsl2x7x_core.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
}

Expand Down Expand Up @@ -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;
}
}

Expand All @@ -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;
Expand Down

0 comments on commit 3b81379

Please sign in to comment.