Browse Source

iio: core: Return error for failed read_reg

If an IIO device returns an error code for a read access via debugfs, it
is currently ignored by the IIO core (other than emitting an error
message). Instead, return this error code to user space, so upper layers
can detect it correctly.

Signed-off-by: Matt Fornero <matt.fornero@mathworks.com>
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Cc: <Stable@vger.kernel.org>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Matt Fornero 8 years ago
parent
commit
3d62c78a6e
1 changed files with 3 additions and 1 deletions
  1. 3 1
      drivers/iio/industrialio-core.c

+ 3 - 1
drivers/iio/industrialio-core.c

@@ -310,8 +310,10 @@ static ssize_t iio_debugfs_read_reg(struct file *file, char __user *userbuf,
 	ret = indio_dev->info->debugfs_reg_access(indio_dev,
 	ret = indio_dev->info->debugfs_reg_access(indio_dev,
 						  indio_dev->cached_reg_addr,
 						  indio_dev->cached_reg_addr,
 						  0, &val);
 						  0, &val);
-	if (ret)
+	if (ret) {
 		dev_err(indio_dev->dev.parent, "%s: read failed\n", __func__);
 		dev_err(indio_dev->dev.parent, "%s: read failed\n", __func__);
+		return ret;
+	}
 
 
 	len = snprintf(buf, sizeof(buf), "0x%X\n", val);
 	len = snprintf(buf, sizeof(buf), "0x%X\n", val);