Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3b813798 authored by Wei Yongjun's avatar Wei Yongjun Committed by Jonathan Cameron
Browse files

staging:iio:light:tsl2x7x: fix the error handling in tsl2x7x_probe()



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: default avatarWei Yongjun <yongjun_wei@trendmicro.com.cn>
Signed-off-by: default avatarJonathan Cameron <jic23@kernel.org>
parent c80712c7
Loading
Loading
Loading
Loading
+5 −4
Original line number Diff line number Diff line
@@ -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;