iio: lsiio: fix error code handling error
authorLinus Walleij <linus.walleij@linaro.org>
Tue, 4 Aug 2015 14:21:49 +0000 (16:21 +0200)
committerJonathan Cameron <jic23@kernel.org>
Wed, 12 Aug 2015 18:26:22 +0000 (19:26 +0100)
commit acf50b3586f8d8a7530b905e111dda41876d38f4
"tools:iio:lsiio: add error handling"
introduced error handling of errors returned from
read_sysfs_string(), but with a simple if (retval),
missing the fact that these functions return a positive
value if the read was successful.

As a result lsiio regresses and does not show any
devices on my filesystem. Fix this by checking for
only negative error codes.

Cc: Hartmut Knaack <knaack.h@gmx.de>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Acked-by: Hartmut Knaack <knaack.h@gmx.de>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
tools/iio/lsiio.c

index b271a9a796d218ecde1f80923e36cc2d5bb74b5c..3d650e668252f8f195a8e6a14380117d60b329cc 100644 (file)
@@ -69,7 +69,7 @@ static int dump_one_device(const char *dev_dir_name)
                return -EINVAL;
 
        ret = read_sysfs_string("name", dev_dir_name, name);
-       if (ret)
+       if (ret < 0)
                return ret;
 
        printf("Device %03d: %s\n", dev_idx, name);
@@ -92,7 +92,7 @@ static int dump_one_trigger(const char *dev_dir_name)
                return -EINVAL;
 
        ret = read_sysfs_string("name", dev_dir_name, name);
-       if (ret)
+       if (ret < 0)
                return ret;
 
        printf("Trigger %03d: %s\n", dev_idx, name);