Commit 06ee60eb authored by Dan Carpenter's avatar Dan Carpenter Committed by Jonathan Cameron
Browse files

iio: adc: max1027: unlock on error path in max1027_read_single_value()



If max1027_wait_eoc() fails then call iio_device_release_direct_mode()
before returning.

Fixes: a0e83165 ("iio: adc: max1027: Introduce an end of conversion helper")
Signed-off-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
Link: https://lore.kernel.org/r/YsbztVuAXnau2cIZ@kili


Signed-off-by: default avatarJonathan Cameron <Jonathan.Cameron@huawei.com>
parent 7aa68dcc
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -349,8 +349,7 @@ static int max1027_read_single_value(struct iio_dev *indio_dev,
	if (ret < 0) {
		dev_err(&indio_dev->dev,
			"Failed to configure conversion register\n");
		iio_device_release_direct_mode(indio_dev);
		return ret;
		goto release;
	}

	/*
@@ -360,11 +359,12 @@ static int max1027_read_single_value(struct iio_dev *indio_dev,
	 */
	ret = max1027_wait_eoc(indio_dev);
	if (ret)
		return ret;
		goto release;

	/* Read result */
	ret = spi_read(st->spi, st->buffer, (chan->type == IIO_TEMP) ? 4 : 2);

release:
	iio_device_release_direct_mode(indio_dev);

	if (ret < 0)